package main import ( "log" "net" "time" "github.com/posteo/go-agentx" "github.com/posteo/go-agentx/pdu" "github.com/posteo/go-agentx/value" ) func main() { client, err := agentx.Dial("tcp", "localhost:705") if err != nil { log.Fatalf("Failed to dial: %v", err) } client.Timeout = 1 * time.Minute client.ReconnectInterval = 1 * time.Second session, err := client.Session() if err != nil { log.Fatalf("Failed to create session: %v", err) } listHandler := &agentx.ListHandler{} item := listHandler.Add("1.3.6.1.4.1.45995.3.0") item.Type = pdu.VariableTypeInteger item.Value = int32(-123) item = listHandler.Add("1.3.6.1.4.1.45995.3.1") item.Type = pdu.VariableTypeOctetString item.Value = "echo test" item = listHandler.Add("1.3.6.1.4.1.45995.3.2") item.Type = pdu.VariableTypeOctetString item.Value = "1.3.6.1.4.1.45995.3.0.5" item = listHandler.Add("1.3.6.1.4.1.45995.3.3") item.Type = pdu.VariableTypeIPAddress item.Value = net.IP{10, 10, 10, 10} item = listHandler.Add("1.3.6.1.4.1.45995.3.4") item.Type = pdu.VariableTypeCounter32 item.Value = uint32(123) item = listHandler.Add("1.3.6.1.4.1.45995.3.5") item.Type = pdu.VariableTypeGauge32 item.Value = uint32(123) item = listHandler.Add("1.3.6.1.4.1.45995.3.6") item.Type = pdu.VariableTypeTimeTicks item.Value = 123 * time.Second item = listHandler.Add("1.3.6.1.4.1.45995.3.7") item.Type = pdu.VariableTypeOpaque item.Value = []byte{1, 2, 3} item = listHandler.Add("1.3.6.1.4.1.45995.3.8") item.Type = pdu.VariableTypeCounter64 item.Value = uint64(1234567890123456) item = listHandler.Add("1.3.6.1.4.1.45995.3.9") item.Type = pdu.VariableTypeCounter64 item.Value = uint64(12345) item = listHandler.Add("1.3.6.1.4.1.45995.3.10") item.Type = pdu.VariableTypeOctetString item.Value = "hoi pim" session.Handler = listHandler if err := session.Register(127, value.MustParseOID("1.3.6.1.4.1.45995.3")); err != nil { log.Fatalf("Failed to register: %v", err) } for { time.Sleep(100 * time.Millisecond) } }