Temporarily add go-agentx (w/ fixes to lexico ordering)
This commit is contained in:
29
go-agentx/pdu/timeout.go
Normal file
29
go-agentx/pdu/timeout.go
Normal 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()
|
||||
}
|
Reference in New Issue
Block a user