|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.dhcp4java.DHCPServlet
public class DHCPServlet
General Interface for a "DHCP Servlet"
Normal use is to override the doXXX() or service() method to provide your own application logic.
For simple servers or test purpose, it as also a good idea to provide a main() method so you can easily launch the server by running the servlet.
Field Summary | |
---|---|
protected DHCPCoreServer |
server
the server instance running this servlet |
Constructor Summary | |
---|---|
DHCPServlet()
|
Method Summary | |
---|---|
protected DHCPPacket |
doDecline(DHCPPacket request)
Process DECLINE request. |
protected DHCPPacket |
doDiscover(DHCPPacket request)
Process DISCOVER request. |
protected DHCPPacket |
doInform(DHCPPacket request)
Process INFORM request. |
protected DHCPPacket |
doRelease(DHCPPacket request)
Process RELEASE request. |
protected DHCPPacket |
doRequest(DHCPPacket request)
Process REQUEST request. |
DHCPCoreServer |
getServer()
|
void |
init(java.util.Properties props)
Initialize servlet. |
protected void |
postProcess(java.net.DatagramPacket requestDatagram,
java.net.DatagramPacket responseDatagram)
You have a chance to catch response before it is sent back to client. |
protected DHCPPacket |
service(DHCPPacket request)
General method for parsing a DHCP request. |
java.net.DatagramPacket |
serviceDatagram(java.net.DatagramPacket requestDatagram)
Low-level method for receiving a UDP Daragram and sending one back. |
void |
setServer(DHCPCoreServer server)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected DHCPCoreServer server
Constructor Detail |
---|
public DHCPServlet()
Method Detail |
---|
public void init(java.util.Properties props)
This method is called once at stratup, before any request is passed to the servlet. A properties is passed to the servlet to read whatever parameters it needs.
There is no default behaviour.
props
- a Properties containing parameters, as passed to DHCPCoreServerpublic java.net.DatagramPacket serviceDatagram(java.net.DatagramPacket requestDatagram)
This methode normally does not need to be overriden and passes control to service() for DHCP packets handling. Howerever the service() method is not called if the DHCP request is invalid (i.e. could not be parsed). So overriding this method gives you control on every datagram received, not only valid DHCP packets.
requestDatagram
- the datagram received from the client
protected DHCPPacket service(DHCPPacket request)
Returns the DHCPPacket to send back to the client, or null if we silently ignore the request.
Default behaviour: ignore BOOTP packets, and dispatch to doXXX() methods.
request
- DHCP request from the client
protected DHCPPacket doDiscover(DHCPPacket request)
request
- DHCP request received from client
protected DHCPPacket doRequest(DHCPPacket request)
request
- DHCP request received from client
protected DHCPPacket doInform(DHCPPacket request)
request
- DHCP request received from client
protected DHCPPacket doDecline(DHCPPacket request)
request
- DHCP request received from client
protected DHCPPacket doRelease(DHCPPacket request)
request
- DHCP request received from client
protected void postProcess(java.net.DatagramPacket requestDatagram, java.net.DatagramPacket responseDatagram)
This allows for example for last minute modification (who knows?) or for specific logging.
Default behaviour is to do nothing.
The only way to block the response from being sent is to raise an exception.
requestDatagram
- datagram received from clientresponseDatagram
- datagram sent back to clientpublic DHCPCoreServer getServer()
public void setServer(DHCPCoreServer server)
server
- The server to set.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |