1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.server.ntp.protocol;
22
23
24 import org.apache.directory.server.ntp.NtpService;
25 import org.apache.directory.server.ntp.messages.NtpMessage;
26 import org.apache.directory.server.ntp.service.NtpServiceImpl;
27 import org.apache.mina.core.service.IoHandlerAdapter;
28 import org.apache.mina.core.session.IoSession;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32
33
34
35
36
37
38
39
40 public class NtpProtocolHandler extends IoHandlerAdapter
41 {
42
43 private static final Logger LOG = LoggerFactory.getLogger( NtpProtocolHandler.class );
44
45
46 private NtpService ntpService = new NtpServiceImpl();
47
48
49
50
51
52 @Override
53 public void exceptionCaught( IoSession session, Throwable cause )
54 {
55 LOG.error( session.getRemoteAddress() + " EXCEPTION", cause );
56 session.closeNow();
57 }
58
59
60
61
62
63 @Override
64 public void messageReceived( IoSession session, Object message )
65 {
66 if ( LOG.isDebugEnabled() )
67 {
68 LOG.debug( "{} RCVD: {}", session.getRemoteAddress(), message );
69 }
70
71 NtpMessage/directory/server/ntp/messages/NtpMessage.html#NtpMessage">NtpMessage reply = ntpService.getReplyFor( ( NtpMessage ) message );
72
73 session.write( reply );
74 }
75 }