27 lines
651 B
Go
27 lines
651 B
Go
// Copyright 2018 The agentx authors
|
|
// Licensed under the LGPLv3 with static-linking exception.
|
|
// See LICENCE file for details.
|
|
|
|
package pdu
|
|
|
|
// Close defines the pdu close packet.
|
|
type Close struct {
|
|
Reason Reason
|
|
}
|
|
|
|
// Type returns the pdu packet type.
|
|
func (c *Close) Type() Type {
|
|
return TypeClose
|
|
}
|
|
|
|
// MarshalBinary returns the pdu packet as a slice of bytes.
|
|
func (c *Close) MarshalBinary() ([]byte, error) {
|
|
return []byte{byte(c.Reason), 0x00, 0x00, 0x00}, nil
|
|
}
|
|
|
|
// UnmarshalBinary sets the packet structure from the provided slice of bytes.
|
|
func (c *Close) UnmarshalBinary(data []byte) error {
|
|
c.Reason = Reason(data[0])
|
|
return nil
|
|
}
|