1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.proxy.session;
21
22 import org.apache.mina.core.future.ConnectFuture;
23 import org.apache.mina.core.session.IoSession;
24 import org.apache.mina.core.session.IoSessionInitializer;
25
26
27
28
29
30
31
32
33
34 public class ProxyIoSessionInitializer<T extends ConnectFuture> implements
35 IoSessionInitializer<T> {
36 private final IoSessionInitializer<T> wrappedSessionInitializer;
37
38 private final ProxyIoSession proxyIoSession;
39
40 public ProxyIoSessionInitializer(
41 final IoSessionInitializer<T> wrappedSessionInitializer,
42 final ProxyIoSession proxyIoSession) {
43 this.wrappedSessionInitializer = wrappedSessionInitializer;
44 this.proxyIoSession = proxyIoSession;
45 }
46
47 public ProxyIoSession getProxySession() {
48 return proxyIoSession;
49 }
50
51 public void initializeSession(final IoSession session, T future) {
52 if (wrappedSessionInitializer != null) {
53 wrappedSessionInitializer.initializeSession(session, future);
54 }
55
56 if (proxyIoSession != null) {
57 proxyIoSession.setSession(session);
58 session.setAttribute(ProxyIoSession.PROXY_SESSION, proxyIoSession);
59 }
60 }
61 }