public class DhcpProtocolHandler
extends java.lang.Object
implements org.apache.mina.core.service.IoHandler
DhcpService| Modifier and Type | Field and Description |
|---|---|
static int |
CLIENT_PORT
Default DHCP client port
|
private DhcpService |
dhcpService
The DHCP service implementation.
|
private static org.slf4j.Logger |
LOG |
static int |
SERVER_PORT
Default DHCP server port
|
| Constructor and Description |
|---|
DhcpProtocolHandler(DhcpService service) |
| Modifier and Type | Method and Description |
|---|---|
private java.net.InetSocketAddress |
determineMessageDestination(DhcpMessage request,
DhcpMessage reply)
Determine where to send the message:
If the 'giaddr' field in a DHCP message from a client is non-zero, the server sends any return messages to the 'DHCP server' port on the BOOTP relay agent whose address appears in 'giaddr'. |
void |
exceptionCaught(org.apache.mina.core.session.IoSession session,
java.lang.Throwable cause) |
void |
inputClosed(org.apache.mina.core.session.IoSession session) |
private boolean |
isNullAddress(java.net.InetAddress addr)
Determine, whether the given address ist actually the null address
"0.0.0.0".
|
void |
messageReceived(org.apache.mina.core.session.IoSession session,
java.lang.Object message) |
void |
messageSent(org.apache.mina.core.session.IoSession session,
java.lang.Object message) |
void |
sessionClosed(org.apache.mina.core.session.IoSession session) |
void |
sessionCreated(org.apache.mina.core.session.IoSession session) |
void |
sessionIdle(org.apache.mina.core.session.IoSession session,
org.apache.mina.core.session.IdleStatus status) |
void |
sessionOpened(org.apache.mina.core.session.IoSession session) |
private static final org.slf4j.Logger LOG
public static final int CLIENT_PORT
public static final int SERVER_PORT
private final DhcpService dhcpService
public DhcpProtocolHandler(DhcpService service)
public void sessionCreated(org.apache.mina.core.session.IoSession session)
throws java.lang.Exception
sessionCreated in interface org.apache.mina.core.service.IoHandlerjava.lang.Exceptionpublic void sessionOpened(org.apache.mina.core.session.IoSession session)
sessionOpened in interface org.apache.mina.core.service.IoHandlerpublic void sessionClosed(org.apache.mina.core.session.IoSession session)
sessionClosed in interface org.apache.mina.core.service.IoHandlerpublic void sessionIdle(org.apache.mina.core.session.IoSession session,
org.apache.mina.core.session.IdleStatus status)
sessionIdle in interface org.apache.mina.core.service.IoHandlerpublic void exceptionCaught(org.apache.mina.core.session.IoSession session,
java.lang.Throwable cause)
exceptionCaught in interface org.apache.mina.core.service.IoHandlerpublic void messageReceived(org.apache.mina.core.session.IoSession session,
java.lang.Object message)
throws java.lang.Exception
messageReceived in interface org.apache.mina.core.service.IoHandlerjava.lang.Exceptionprivate java.net.InetSocketAddress determineMessageDestination(DhcpMessage request, DhcpMessage reply)
request - reply - private boolean isNullAddress(java.net.InetAddress addr)
relayAgentAddress - public void messageSent(org.apache.mina.core.session.IoSession session,
java.lang.Object message)
messageSent in interface org.apache.mina.core.service.IoHandlerpublic void inputClosed(org.apache.mina.core.session.IoSession session)
inputClosed in interface org.apache.mina.core.service.IoHandler