ru.bitel.bgbilling.kernel.network.dhcp

## Class DhcpListener

- java.lang.Object
- - ru.bitel.common.io.DatagramChannelListener
  - - ru.bitel.bgbilling.kernel.network.processor.DatagramListener
    - - ru.bitel.bgbilling.kernel.network.dhcp.DhcpListener

- All Implemented Interfaces:
    java.lang.Runnable, ru.bitel.bgbilling.kernel.application.server.ExtendedLifecycle, ru.bitel.bgbilling.kernel.application.server.Lifecycle, ru.bitel.bgbilling.kernel.network.processor.ProcessorListener, ru.bitel.common.worker.ThreadContextFactory<ru.bitel.common.worker.ThreadContext>

      public class DhcpListener
      extends ru.bitel.bgbilling.kernel.network.processor.DatagramListener
      implements ru.bitel.bgbilling.kernel.network.processor.ProcessorListener

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger` | `dataLogger`
    `protected DhcpProcessor<Idable>` | `processor`

    - ### Fields inherited from class ru.bitel.common.io.DatagramChannelListener

      `byteBufferCapacity, channel, directByteBuffer, host, inited, maxPacketSize, port, selector`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DhcpListener(java.lang.String host, int port, int byteBufferCapacity, DhcpProcessor<Idable> processor, ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger dataLogger, int threadCount, int maxQueueSize)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ru.bitel.bgbilling.kernel.network.processor.ProcessorRequest<?>` | `newRequest(java.net.SocketAddress clientAddress, long millis, java.nio.ByteBuffer data, int overloadLevel)`
    `ru.bitel.common.worker.ThreadContext` | `newThreadContext()`

    - ### Methods inherited from class ru.bitel.bgbilling.kernel.network.processor.DatagramListener

      `destroy, getActiveThreadCount, getCurrentThreadCount, getMaxQueueSize, getQueueSize, getSlow1QueueSize, getSlow2QueueSize, getTaskCount, getThreadCount, init, onPacket, setMaxQueueSize, setThreadCount, start, stop`

    - ### Methods inherited from class ru.bitel.common.io.DatagramChannelListener

      `run, select, send, sendResponse, shutdown`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface ru.bitel.bgbilling.kernel.network.processor.ProcessorListener

      `send`

- - ### Field Detail

    - #### processor

          protected final DhcpProcessor<Idable> processor

    - #### dataLogger

          protected final ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger dataLogger

  - ### Constructor Detail

    - #### DhcpListener

          @ConstructorProperties(value={"host","port","recvBufferSize","processor","dataLogger","threadCount","maxQueueSize"})
          public DhcpListener(java.lang.String host,
                                                                                                                                                   int port,
                                                                                                                                                   int byteBufferCapacity,
                                                                                                                                                   DhcpProcessor<Idable> processor,
                                                                                                                                                   ru.bitel.bgbilling.kernel.network.dhcp.datalog.hourly.DhcpHourlyDataLogger dataLogger,
                                                                                                                                                   int threadCount,
                                                                                                                                                   int maxQueueSize)

  - ### Method Detail

    - #### newThreadContext

          public ru.bitel.common.worker.ThreadContext newThreadContext()

      Specified by:
        `newThreadContext` in interface `ru.bitel.common.worker.ThreadContextFactory<ru.bitel.common.worker.ThreadContext>`

    - #### newRequest

          public ru.bitel.bgbilling.kernel.network.processor.ProcessorRequest<?> newRequest(java.net.SocketAddress clientAddress,
                                                                                            long millis,
                                                                                            java.nio.ByteBuffer data,
                                                                                            int overloadLevel)

      Specified by:
        `newRequest` in interface `ru.bitel.bgbilling.kernel.network.processor.ProcessorListener`
      Specified by:
        `newRequest` in class `ru.bitel.bgbilling.kernel.network.processor.DatagramListener`