Temporarily add go-agentx (w/ fixes to lexico ordering)

This commit is contained in:
Pim van Pelt
2025-06-09 17:14:28 +02:00
parent 824496c402
commit 771cc6ff48
45 changed files with 2477 additions and 0 deletions

29
go-agentx/pdu/timeout.go Normal file
View File

@ -0,0 +1,29 @@
// Copyright 2018 The agentx authors
// Licensed under the LGPLv3 with static-linking exception.
// See LICENCE file for details.
package pdu
import "time"
// Timeout defines the pdu timeout packet.
type Timeout struct {
Duration time.Duration
Priority byte
}
// MarshalBinary returns the pdu packet as a slice of bytes.
func (t *Timeout) MarshalBinary() ([]byte, error) {
return []byte{byte(t.Duration.Seconds()), t.Priority, 0x00, 0x00}, nil
}
// UnmarshalBinary sets the packet structure from the provided slice of bytes.
func (t *Timeout) UnmarshalBinary(data []byte) error {
t.Duration = time.Duration(data[0]) * time.Second
t.Priority = data[1]
return nil
}
func (t Timeout) String() string {
return t.Duration.String()
}