snmp

package
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSNMPDriver

func NewSNMPDriver() driver.Driver

Types

type Address

type Address struct {
	Community    string
	SecurityName string
	OID          string
}

type SNMPDecoder

type SNMPDecoder struct{}

func NewSNMPDecoder

func NewSNMPDecoder() *SNMPDecoder

func (*SNMPDecoder) DecodePDU

func (d *SNMPDecoder) DecodePDU(pdu gosnmp.SnmpPDU, dataType string) (any, string)

func (*SNMPDecoder) EncodeValue

func (d *SNMPDecoder) EncodeValue(value any, dataType string) (interface{}, gosnmp.Asn1BER, error)

func (*SNMPDecoder) ParseAddress

func (d *SNMPDecoder) ParseAddress(addr string, cfg deviceConfig) (*Address, error)

func (*SNMPDecoder) ToModelValue

func (d *SNMPDecoder) ToModelValue(point model.Point, pdu gosnmp.SnmpPDU) model.Value

type SNMPDriver

type SNMPDriver struct {
	// contains filtered or unexported fields
}

func (*SNMPDriver) Connect

func (d *SNMPDriver) Connect(ctx context.Context) error

func (*SNMPDriver) Disconnect

func (d *SNMPDriver) Disconnect() error

func (*SNMPDriver) GetConnectionMetrics

func (d *SNMPDriver) GetConnectionMetrics() (connectionSeconds int64, reconnectCount int64, localAddr string, remoteAddr string, lastDisconnectTime time.Time)

func (*SNMPDriver) Health

func (d *SNMPDriver) Health() driver.HealthStatus

func (*SNMPDriver) Init

func (d *SNMPDriver) Init(cfg model.DriverConfig) error

func (*SNMPDriver) ReadPoints

func (d *SNMPDriver) ReadPoints(ctx context.Context, points []model.Point) (map[string]model.Value, error)

func (*SNMPDriver) ScanObjects

func (d *SNMPDriver) ScanObjects(ctx context.Context, config map[string]any) (any, error)

ScanObjects walks a MIB subtree for device discovery (ObjectScanner).

func (*SNMPDriver) SetDeviceConfig

func (d *SNMPDriver) SetDeviceConfig(config map[string]any) error

func (*SNMPDriver) SetSlaveID

func (d *SNMPDriver) SetSlaveID(_ uint8) error

func (*SNMPDriver) WritePoint

func (d *SNMPDriver) WritePoint(ctx context.Context, point model.Point, value any) error

type SNMPScheduler

type SNMPScheduler struct {
	// contains filtered or unexported fields
}

func NewSNMPScheduler

func NewSNMPScheduler(transport *SNMPTransport, decoder *SNMPDecoder, cfg map[string]any) *SNMPScheduler

func (*SNMPScheduler) GetStats

func (s *SNMPScheduler) GetStats() (totalRequests, successCount, failureCount int64)

func (*SNMPScheduler) ReadPoints

func (s *SNMPScheduler) ReadPoints(ctx context.Context, points []model.Point) (map[string]model.Value, error)

func (*SNMPScheduler) WritePoint

func (s *SNMPScheduler) WritePoint(ctx context.Context, point model.Point, value any) error

type SNMPTransport

type SNMPTransport struct {
	// contains filtered or unexported fields
}

func NewSNMPTransport

func NewSNMPTransport(cfg map[string]any) *SNMPTransport

func (*SNMPTransport) Connect

func (t *SNMPTransport) Connect(ctx context.Context) error

func (*SNMPTransport) Disconnect

func (t *SNMPTransport) Disconnect() error

func (*SNMPTransport) Get

func (t *SNMPTransport) Get(oids []string, community string) ([]gosnmp.SnmpPDU, error)

func (*SNMPTransport) GetBulk

func (t *SNMPTransport) GetBulk(baseOID string, community string, maxRepetitions int) ([]gosnmp.SnmpPDU, error)

func (*SNMPTransport) GetConnectionMetrics

func (t *SNMPTransport) GetConnectionMetrics() (connectionSeconds int64, reconnectCount int64, localAddr string, remoteAddr string, lastDisconnectTime time.Time)

func (*SNMPTransport) GetNext

func (t *SNMPTransport) GetNext(oid string, community string) (*gosnmp.SnmpPDU, error)

func (*SNMPTransport) IsConnected

func (t *SNMPTransport) IsConnected() bool

func (*SNMPTransport) Set

func (t *SNMPTransport) Set(oid string, value interface{}, asnType gosnmp.Asn1BER, community string) error

func (*SNMPTransport) SetConfig

func (t *SNMPTransport) SetConfig(cfg deviceConfig)

func (*SNMPTransport) Walk

func (t *SNMPTransport) Walk(rootOID string, community string, walkFn func(pdu gosnmp.SnmpPDU) error) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL