ru.bitel.bgbilling.kernel.network.flow

## Class SnmpFlowRecord

- java.lang.Object
- - ru.bitel.bgbilling.kernel.network.flow.Data
  - - ru.bitel.bgbilling.kernel.network.flow.SnmpFlowRecord

- Direct Known Subclasses:
    SnmpFlowRecord.SnmpFlowInput, SnmpFlowRecord.SnmpFlowOutput

      public class SnmpFlowRecord
      extends Data

  Формат flow для сохранения SNMP счётчиков по интерфейсам.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SnmpFlowRecord.SnmpFlowInput`
    `static class` | `SnmpFlowRecord.SnmpFlowOutput`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.nio.ByteBuffer` | `data`
    `static boolean` | `FIX_OVERFLOW` Некоторые железки периодически присылают неверный счетчик.
    `protected java.util.Map<java.lang.Integer,SnmpFlowRecord>` | `lastSnmp`
    `static int` | `RECORD_SIZE`
    `protected int` | `snmpAdminStatus`
    `protected long` | `snmpInputOctets`
    `protected int` | `snmpInterface`
    `protected int` | `snmpOperStatus`
    `protected long` | `snmpOutputOctets`
    `protected long` | `snmpStatusLastChange`
    `protected long` | `snmpSysUptime` Время в сотых (!)

    - ### Fields inherited from class ru.bitel.bgbilling.kernel.network.flow.Data

      `diffServ, dstAddress, dstPort, first, inputInterface, ipv4DstAddress, ipv4SrcAddress, ipv6DstAddress, ipv6SrcAddress, last, milliseconds, nextHop, octets, outputInterface, packets, protocol, srcAddress, srcPort`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SnmpFlowRecord(java.util.Map<java.lang.Integer,SnmpFlowRecord> lastSnmp)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `fillData(java.nio.ByteBuffer byteBuffer)`
    `java.nio.ByteBuffer` | `getData()`
    `long` | `getMilliseconds()`
    `int` | `snmpGetInteface()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class ru.bitel.bgbilling.kernel.network.flow.Data

      `copy, getDiffServ, getDstAddress, getDstIpAddress, getDstPort, getFirst, getInputInterface, getLast, getNextHop, getOctets, getOutputInterface, getPackets, getProtocol, getSrcAddress, getSrcIpAddress, getSrcPort`

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

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

- - ### Field Detail

    - #### RECORD_SIZE

          public static final int RECORD_SIZE

      See Also:
        Constant Field Values

    - #### lastSnmp

          protected final java.util.Map<java.lang.Integer,SnmpFlowRecord> lastSnmp

    - #### data

          protected java.nio.ByteBuffer data

    - #### FIX_OVERFLOW

          public static volatile boolean FIX_OVERFLOW

      Некоторые железки периодически присылают неверный счетчик.

    - #### snmpInterface

          protected int snmpInterface

    - #### snmpInputOctets

          protected long snmpInputOctets

    - #### snmpOutputOctets

          protected long snmpOutputOctets

    - #### snmpSysUptime

          protected long snmpSysUptime

      Время в сотых (!) долях секунды с последнего рестарта железки

    - #### snmpAdminStatus

          protected int snmpAdminStatus

    - #### snmpOperStatus

          protected int snmpOperStatus

    - #### snmpStatusLastChange

          protected long snmpStatusLastChange

  - ### Constructor Detail

    - #### SnmpFlowRecord

          public SnmpFlowRecord(java.util.Map<java.lang.Integer,SnmpFlowRecord> lastSnmp)

  - ### Method Detail

    - #### getMilliseconds

          public long getMilliseconds()

      Overrides:
        `getMilliseconds` in class `Data`

    - #### snmpGetInteface

          public int snmpGetInteface()

    - #### fillData

          public void fillData(java.nio.ByteBuffer byteBuffer)

    - #### getData

          public java.nio.ByteBuffer getData()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `Data`