ru.bitel.bgbilling.modules.inet.radius

## Class InetRadiusHelperProcessor

- java.lang.Object
- - ru.bitel.bgbilling.kernel.network.processor.Processor
  - - ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor<InetNasConnection,InetNas,InetRadiusSessionParams>
    - - ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor
      - - ru.bitel.bgbilling.modules.inet.radius.InetRadiusHelperProcessor

- All Implemented Interfaces:
    ru.bitel.bgbilling.kernel.application.server.CommandListener, ru.bitel.bgbilling.kernel.application.server.ExtendedLifecycle, ru.bitel.bgbilling.kernel.application.server.Lifecycle, EventListener<InetAccountingEvent>

      public class InetRadiusHelperProcessor
      extends InetRadiusProcessor

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor

      `InetRadiusProcessor.AuthAcceptEvent`

    - ### Nested classes/interfaces inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor

      `RadiusProcessor.ConnectionIterator<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,?,?>>`

  - ### Field Summary

    - ### Fields inherited from class ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor

      `access, ACCESS_CODE, accounting, AGENT_CIRCUIT_ID, AGENT_REMOTE_ID, AGENT_SVLAN, applicationId, DEVICE_STATE, IDENTIFIER, INTERFACE_ID, MAC_ADDRESS, MAC_ADDRESS_BYTES, PARENT_ACCT_SESSION_ID, REALM_DEFAULT, REALM_DISABLE, SERVICE_NAME, VLAN_ID`

    - ### Fields inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor

      `accountingIgnoreCount, accountingStartCounter, accountingStopCounter, accountingUpdateCounter, accountingUpdateIgnoreCount, antispamIgnoreCount, authenticationAcceptCounter, authenticationIgnoreCount, authenticationRejectCounter, forwardAccessAnswer, forwardAccessRequest, forwardAccountingResponse, forwardAfterPreprocess, forwardAfterProcess, module, nasList, setup`

    - ### Fields inherited from class ru.bitel.bgbilling.kernel.network.processor.Processor

      `moduleId`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `InetRadiusHelperProcessor(Setup setup, ru.bitel.bgbilling.modules.inet.access.Access access, ru.bitel.bgbilling.modules.inet.accounting.Accounting accounting)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected InetNasConnection` | `accounting(RadiusListenerWorker<InetNas> req, InetNas nas, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, java.util.Date time)` Обработка Accounting-Request по умолчанию.
    `protected ru.bitel.bgbilling.modules.inet.runtime.ServSearchResult` | `findServRuntime(ru.bitel.bgbilling.modules.inet.runtime.InetApplication application, RadiusListenerWorker<?> req, InetNas nas, java.lang.String userName, RadiusPacket request, java.util.Date time)` Вызывается при Access-Request и при Accounting-Request, если сессии еще нет.
    `protected InetConnection` | `getConnection(ru.bitel.bgbilling.modules.inet.radius.InetRadiusHelperProcessor.Entry entry)`
    `protected void` | `reloadNasList()` Корректная перезагрузка насов (конфига, инспекторов и т.п.).
    `void` | `start()`

    - ### Methods inherited from class ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor

      `accessRequestImpl, addToLog, authentication, authenticationImpl, authorization, destroy, executeCommand, getCommandsHelp, getModuleId, getNas, getNasConnection, getStatus, init, insertToLog, newRadiusSession, notify, postprocessAccessRequest, postprocessAccountingRequest, preprocessAccessRequest, preprocessAccountingRequest, reloadConfig, stop`

    - ### Methods inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor

      `accessRequest, accountingRequest, afterNasListReload, connections, getAccessAcceptPerMinute, getAccessRejectPerMinute, getAccessRequestIgnorePerMinute, getAccountingStartPerMinute, getAccountingStopPerMinute, getAccountingUpdateIgnorePerMinute, getAccountingUpdatePerMinute, getActiveConnectionsCount, getAntispamIgnorePerMinute, getConnectionList, getNasList, getStoppedConnectionCount, getSuspendedConnectionCount, newInstance, processConnections`

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

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

- - ### Constructor Detail

    - #### InetRadiusHelperProcessor

          @ConstructorProperties(value={"setup","access","accounting"})
          public InetRadiusHelperProcessor(Setup setup,
                                                                                                         ru.bitel.bgbilling.modules.inet.access.Access access,
                                                                                                         ru.bitel.bgbilling.modules.inet.accounting.Accounting accounting)
                                                                                                  throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

  - ### Method Detail

    - #### start

          public void start()
                     throws java.lang.Exception

      Specified by:
        `start` in interface `ru.bitel.bgbilling.kernel.application.server.Lifecycle`
      Overrides:
        `start` in class `InetRadiusProcessor`
      Throws:
        `java.lang.Exception`

    - #### reloadNasList

          protected void reloadNasList()

      Description copied from class: `RadiusProcessor`
      Корректная перезагрузка насов (конфига, инспекторов и т.п.).
      Overrides:
        `reloadNasList` in class `InetRadiusProcessor`

    - #### accounting

          protected InetNasConnection accounting(RadiusListenerWorker<InetNas> req,
                                                 InetNas nas,
                                                 RadiusPacket request,
                                                 RadiusPacket response,
                                                 ConnectionSet connectionSet,
                                                 java.util.Date time)

      Description copied from class: `RadiusProcessor`
      Обработка Accounting-Request по умолчанию.
      Overrides:
        `accounting` in class `RadiusProcessor<InetNasConnection,InetNas,InetRadiusSessionParams>`
      Parameters:
        `req` - TODO
        `connectionSet` - экземпляры соединений с БД: master, slave, trash

    - #### findServRuntime

          protected ru.bitel.bgbilling.modules.inet.runtime.ServSearchResult findServRuntime(ru.bitel.bgbilling.modules.inet.runtime.InetApplication application,
                                                                                             RadiusListenerWorker<?> req,
                                                                                             InetNas nas,
                                                                                             java.lang.String userName,
                                                                                             RadiusPacket request,
                                                                                             java.util.Date time)

      Description copied from class: `InetRadiusProcessor`
      Вызывается при Access-Request и при Accounting-Request, если сессии еще нет. Если сессия найдена по Acct-Session-Id, то метод не вызывается.
      Overrides:
        `findServRuntime` in class `InetRadiusProcessor`
      Returns:

    - #### getConnection

          protected InetConnection getConnection(ru.bitel.bgbilling.modules.inet.radius.InetRadiusHelperProcessor.Entry entry)