Documentation
¶
Index ¶
- Constants
- func IsValidMessageType(t MessageType) bool
- type Flag
- type Message
- func DecodeMessage(data []byte) (*Message, error)
- func NewAgentMetricMessage(agentID string, metrics any) (*Message, error)
- func NewHTTPRequestMessage(method, url string, headers map[string]string, body []byte) (*Message, error)
- func NewHTTPResponseMessage(messageID string, statusCode int, headers map[string]string, body []byte) (*Message, error)
- func NewHeartbeatMessage() *Message
- func NewMessage(msgType MessageType) *Message
- func NewTaskConfirmMessage(requestID, taskID string, confirm any) (*Message, error)
- func NewTaskLogMessage(requestID, taskID string, logMsg any) (*Message, error)
- func NewTaskResultMessage(requestID, taskID string, result any) (*Message, error)
- func NewTaskRunMessage(requestID, taskID, action string, taskData any) (*Message, error)
- type MessageHeader
- func (h *MessageHeader) ClearFlag(flag Flag)
- func (h *MessageHeader) Encode() []byte
- func (h *MessageHeader) GetMessageID() string
- func (h *MessageHeader) HasFlag(flag Flag) bool
- func (h *MessageHeader) SetFlag(flag Flag)
- func (h *MessageHeader) SetMessageID(id uuid.UUID)
- func (h *MessageHeader) TotalSize() uint32
- func (h *MessageHeader) Validate() error
- type MessageType
Constants ¶
View Source
const ( MagicNumber uint32 = 0x4B465058 ProtocolVersion uint8 = 2 HeaderSize = 40 )
Variables ¶
This section is empty.
Functions ¶
func IsValidMessageType ¶
func IsValidMessageType(t MessageType) bool
Types ¶
type Message ¶
type Message struct {
Header *MessageHeader
Headers json.RawMessage
Body []byte
}
func DecodeMessage ¶
func NewAgentMetricMessage ¶
func NewHTTPRequestMessage ¶
func NewHTTPResponseMessage ¶
func NewHeartbeatMessage ¶
func NewHeartbeatMessage() *Message
func NewMessage ¶
func NewMessage(msgType MessageType) *Message
func NewTaskConfirmMessage ¶
func NewTaskLogMessage ¶
func NewTaskResultMessage ¶
func NewTaskRunMessage ¶
func (*Message) GetHeaders ¶
func (*Message) GetJSONBody ¶
func (*Message) SetBinaryBody ¶
func (*Message) SetHeaders ¶
func (*Message) SetJSONBody ¶
type MessageHeader ¶
type MessageHeader struct {
Magic [4]byte
Version uint8
MessageType uint8
Flags uint16
MessageID [16]byte
HeadersLen uint32
BodyLen uint32
StatusCode uint16
Reserved1 uint16
Reserved2 uint32
}
func DecodeHeader ¶
func DecodeHeader(data []byte) (*MessageHeader, error)
func NewMessageHeader ¶
func NewMessageHeader(msgType MessageType) *MessageHeader
func (*MessageHeader) ClearFlag ¶
func (h *MessageHeader) ClearFlag(flag Flag)
func (*MessageHeader) Encode ¶
func (h *MessageHeader) Encode() []byte
func (*MessageHeader) GetMessageID ¶
func (h *MessageHeader) GetMessageID() string
func (*MessageHeader) HasFlag ¶
func (h *MessageHeader) HasFlag(flag Flag) bool
func (*MessageHeader) SetFlag ¶
func (h *MessageHeader) SetFlag(flag Flag)
func (*MessageHeader) SetMessageID ¶
func (h *MessageHeader) SetMessageID(id uuid.UUID)
func (*MessageHeader) TotalSize ¶
func (h *MessageHeader) TotalSize() uint32
func (*MessageHeader) Validate ¶
func (h *MessageHeader) Validate() error
type MessageType ¶
type MessageType uint8
const ( MSG_TYPE_HEARTBEAT MessageType = 0x00 MSG_TYPE_AUTH MessageType = 0x01 MSG_TYPE_HANDSHAKE MessageType = 0x02 MSG_TYPE_TASK_RUN MessageType = 0x10 MSG_TYPE_TASK_RESULT MessageType = 0x11 MSG_TYPE_TASK_CONFIRM MessageType = 0x12 MSG_TYPE_TASK_CANCEL MessageType = 0x13 MSG_TYPE_TASK_STATUS MessageType = 0x14 MSG_TYPE_TASK_LOG MessageType = 0x30 MSG_TYPE_AGENT_METRIC MessageType = 0x31 MSG_TYPE_TASK_STDOUT MessageType = 0x32 MSG_TYPE_TASK_STDERR MessageType = 0x33 MSG_TYPE_HTTP_REQUEST MessageType = 0x40 MSG_TYPE_HTTP_RESPONSE MessageType = 0x41 MSG_TYPE_FILE_UPLOAD MessageType = 0x50 MSG_TYPE_FILE_DOWNLOAD MessageType = 0x51 MSG_TYPE_CONFIG_UPDATE MessageType = 0x60 MSG_TYPE_AGENT_INFO MessageType = 0x61 )
Click to show internal directories.
Click to hide internal directories.