Package ru.bitel.bgbilling.modules.inet.server

# Class InetUtils

java.lang.Object
ru.bitel.bgbilling.modules.inet.server.InetUtils

    public class InetUtils
    extends java.lang.Object

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `InetUtils()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static boolean` | `awaitTermination​(java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.lang.String name, long seconds)` |
  `static boolean` | `checkAccountingRootDeviceId​(Setup setup, int moduleId)` | Проверка что в moduleSetup указаны типы устройств - аккаунтинг
  `static boolean` | `checkAliveAndType​(InetConnection connection, boolean checkDeviceState, int type)` | Возвращает true если сессия жива и тип подходящий.
  `static java.lang.Boolean` | `checkIdentifier​(InetServ inetServ, java.lang.String identifier)` |
  `static java.lang.Boolean` | `checkMacAddress​(InetServ inetServ, byte[] macAddress)` | Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.
  `static <A> boolean` | `checkSessionCountLimit​(java.util.List<A> connectionList, java.util.function.Function<A,​InetConnection> converter, boolean alive, int sessionCountLimit)` |
  `static long` | `dateFrom​(java.util.Calendar dateFrom)` |
  `static long` | `dateFrom​(java.util.Date dateFrom, java.util.Calendar utilCalendar)` |
  `static long` | `dateTo​(java.util.Calendar dateTo)` |
  `static long` | `dateTo​(java.util.Date dateTo, java.util.Calendar utilCalendar)` |
  `static int` | `getAccountingRootDeviceId​(int moduleId, java.util.Set<java.lang.Integer> accountingDeviceTypeIds, int deviceId)` |
  `static int` | `getAccountingRootDeviceId​(Setup setup, int moduleId, int deviceId)` |
  `static InetConnection` | `getConnection​(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart)` |
  `static java.lang.Object[]` | `getConnectionAndLastSessionLog​(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart)` |
  `static int` | `getConnectionType​(InetConnection connection)` | TODO-XXX
  `static java.util.Map<java.lang.Integer,​AccountingTrafficAmount>` | `getCounterTraffics​(ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime connectionCallRuntime, RadiusPacket request)` |
  `static java.util.Map<java.lang.Integer,​AccountingTrafficAmount>` | `getCounterTraffics​(ru.bitel.bgbilling.modules.inet.server.runtime.InetServRuntime inetServRuntime, ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime parentConnectionCallRuntime, InetConnection connection, RadiusPacket request)` |
  `static java.util.Map<java.lang.Integer,​AccountingTrafficAmount>` | `getCounterTraffics​(ru.bitel.bgbilling.modules.inet.server.runtime.TrafficTypeLinkRuntime link, RadiusPacket packet, java.lang.String realm, java.lang.String acctService)` |
  `static java.lang.Long` | `getHour​(long millis)` |
  `static long` | `getInputOctets​(RadiusPacket packet)` |
  `static long` | `getOutputOctets​(RadiusPacket packet)` |
  `static java.lang.String` | `getRealm​(java.lang.String username)` |
  `static int` | `getSessionCountLimit​(InetServType inetServType, InetServ inetServ)` |
  `static java.lang.String` | `internRealm​(java.lang.String realm)` |
  `static java.lang.String` | `internServiceName​(java.lang.String realm)` |
  `static long` | `macAddressToLong​(byte[] mac)` |
  `static long` | `macAddressToLong​(java.lang.String macAddress)` |
  `static java.lang.String` | `macAddressToString​(byte[] macAddress)` |
  `static RadiusAttributeSetRealmMap` | `newRadiusAttributeSetRealmMap​(int moduleId, ParameterMap deviceConfig, java.lang.String prefix)` | Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed
  `static RadiusAttributeSetRealmMap` | `newRadiusAttributeSetRealmMap​(ParameterMap deviceConfig, java.lang.String prefix)` | Deprecated.
  `static RadiusAttributeSetRealmMap` | `newRadiusAttributeSetRealmMap​(ConnectionSet connectionSet, int moduleId, ParameterMap deviceConfig, java.lang.String prefix)` | Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed
  `static int` | `parseInt​(byte[] data, int pos, int length)` | Преобразует 1-4 байта в int
  `static byte[]` | `parseMacAddress​(java.lang.String macAddress)` |
  `static int[][]` | `parseSearchModes​(java.lang.String value)` |
  `static long` | `roundToSeconds​(long millis)` |

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

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

- ## Constructor Details

  - ### InetUtils

    public InetUtils()

- ## Method Details

  - ### dateFrom

    public static long dateFrom​(java.util.Date dateFrom, java.util.Calendar utilCalendar)

  - ### dateTo

    public static long dateTo​(java.util.Date dateTo, java.util.Calendar utilCalendar)

  - ### dateFrom

    public static long dateFrom​(java.util.Calendar dateFrom)

  - ### dateTo

    public static long dateTo​(java.util.Calendar dateTo)

  - ### getHour

    public static final java.lang.Long getHour​(long millis)

  - ### awaitTermination

    public static boolean awaitTermination​(java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.lang.String name, long seconds) throws java.lang.InterruptedException
    Throws:
      `java.lang.InterruptedException`

  - ### getRealm

    public static java.lang.String getRealm​(java.lang.String username)

  - ### internRealm

    public static java.lang.String internRealm​(java.lang.String realm)

  - ### internServiceName

    public static java.lang.String internServiceName​(java.lang.String realm)

  - ### getCounterTraffics

    public static java.util.Map<java.lang.Integer,​AccountingTrafficAmount> getCounterTraffics​(ru.bitel.bgbilling.modules.inet.server.runtime.InetServRuntime inetServRuntime, ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime parentConnectionCallRuntime, InetConnection connection, RadiusPacket request)

  - ### getCounterTraffics

    public static java.util.Map<java.lang.Integer,​AccountingTrafficAmount> getCounterTraffics​(ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime connectionCallRuntime, RadiusPacket request)

  - ### getCounterTraffics

    public static java.util.Map<java.lang.Integer,​AccountingTrafficAmount> getCounterTraffics​(ru.bitel.bgbilling.modules.inet.server.runtime.TrafficTypeLinkRuntime link, RadiusPacket packet, java.lang.String realm, java.lang.String acctService)

  - ### getInputOctets

    public static final long getInputOctets​(RadiusPacket packet)

  - ### getOutputOctets

    public static final long getOutputOctets​(RadiusPacket packet)

  - ### getSessionCountLimit

    public static int getSessionCountLimit​(InetServType inetServType, InetServ inetServ)

  - ### checkSessionCountLimit

    public static <A> boolean checkSessionCountLimit​(java.util.List<A> connectionList, java.util.function.Function<A,​InetConnection> converter, boolean alive, int sessionCountLimit)
    Parameters:
      `connectionList` -
      `sessionCountLimit` -
      `active` - проверяем ли активную сессию, т.е. в списке текущих она уже есть
    Returns:

  - ### getConnection

    public static InetConnection getConnection​(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getConnectionAndLastSessionLog

    public static java.lang.Object[] getConnectionAndLastSessionLog​(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### roundToSeconds

    public static long roundToSeconds​(long millis)

  - ### parseInt

    public static int parseInt​(byte[] data, int pos, int length)
    Преобразует 1-4 байта в int
    Parameters:
      `data` -
      `pos` -
      `length` -
    Returns:

  - ### checkMacAddress

    public static java.lang.Boolean checkMacAddress​(InetServ inetServ, byte[] macAddress)
    Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.
    Parameters:
      `inetServ` -
      `macAddress` -
      `trueIfEmpty` - нужно ли возвращать true, если ни один MAC-адрес на сервисе не задан.
    Returns:

  - ### checkIdentifier

    public static java.lang.Boolean checkIdentifier​(InetServ inetServ, java.lang.String identifier)

  - ### newRadiusAttributeSetRealmMap

    public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap​(ConnectionSet connectionSet, int moduleId, ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGException
    Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed
    Parameters:
      `connectionSet` -
      `moduleId` -
      `deviceConfig` -
      `prefix` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### newRadiusAttributeSetRealmMap

    public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap​(int moduleId, ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGException
    Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed
    Parameters:
      `deviceConfig` -
      `prefix` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### newRadiusAttributeSetRealmMap

    @Deprecated public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap​(ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGException
    Deprecated.
    Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed
    Parameters:
      `deviceConfig` -
      `prefix` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### parseSearchModes

    public static int[][] parseSearchModes​(java.lang.String value)

  - ### getAccountingRootDeviceId

    public static int getAccountingRootDeviceId​(int moduleId, java.util.Set<java.lang.Integer> accountingDeviceTypeIds, int deviceId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getAccountingRootDeviceId

    public static int getAccountingRootDeviceId​(Setup setup, int moduleId, int deviceId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkAccountingRootDeviceId

    public static boolean checkAccountingRootDeviceId​(Setup setup, int moduleId)
    Проверка что в moduleSetup указаны типы устройств - аккаунтинг
    Parameters:
      `setup` -
      `moduleId` -
    Returns:

  - ### getConnectionType

    public static int getConnectionType​(InetConnection connection)
    TODO-XXX
    Parameters:
      `connection` -
    Returns:

  - ### checkAliveAndType

    public static boolean checkAliveAndType​(InetConnection connection, boolean checkDeviceState, int type)
    Возвращает true если сессия жива и тип подходящий.
    Parameters:
      `connection` -
      `type` -
    Returns:
    See Also:
      `InetConnection.TYPE_DHCPv4`

  - ### macAddressToLong

    public static long macAddressToLong​(byte[] mac)

  - ### macAddressToLong

    public static long macAddressToLong​(java.lang.String macAddress)

  - ### parseMacAddress

    public static byte[] parseMacAddress​(java.lang.String macAddress)

  - ### macAddressToString

    public static java.lang.String macAddressToString​(byte[] macAddress)