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 IoSessionInitializer<T> {
35 private final IoSessionInitializer<T> wrappedSessionInitializer;
36
37 private final ProxyIoSession proxyIoSession;
38
39 public ProxyIoSessionInitializer(final IoSessionInitializer<T> wrappedSessionInitializer,
40 final ProxyIoSession proxyIoSession) {
41 this.wrappedSessionInitializer = wrappedSessionInitializer;
42 this.proxyIoSession = proxyIoSession;
43 }
44
45 public ProxyIoSession getProxySession() {
46 return proxyIoSession;
47 }
48
49 public void initializeSession(final IoSession session, T future) {
50 if (wrappedSessionInitializer != null) {
51 wrappedSessionInitializer.initializeSession(session, future);
52 }
53
54 if (proxyIoSession != null) {
55 proxyIoSession.setSession(session);
56 session.setAttribute(ProxyIoSession.PROXY_SESSION, proxyIoSession);
57 }
58 }
59 }