Documentation
¶
Overview ¶
Package wire defines structs used in the wire format for the remote checker.
Index ¶
- Constants
- type Header
- func (h *Header) CopyIn(cc marshal.CopyContext, addr hostarch.Addr) (int, error)
- func (h *Header) CopyInN(cc marshal.CopyContext, addr hostarch.Addr, limit int) (int, error)
- func (h *Header) CopyOut(cc marshal.CopyContext, addr hostarch.Addr) (int, error)
- func (h *Header) CopyOutN(cc marshal.CopyContext, addr hostarch.Addr, limit int) (int, error)
- func (h *Header) MarshalBytes(dst []byte) []byte
- func (h *Header) MarshalUnsafe(dst []byte) []byte
- func (h *Header) Packed() bool
- func (h *Header) SizeBytes() int
- func (h *Header) UnmarshalBytes(src []byte) []byte
- func (h *Header) UnmarshalUnsafe(src []byte) []byte
- func (h *Header) WriteTo(writer io.Writer) (int64, error)
Constants ¶
View Source
const CurrentVersion = 1
CurrentVersion is the current wire and protocol version.
View Source
const HeaderStructSize = 8
HeaderStructSize size of header struct in bytes.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Header ¶
type Header struct {
// HeaderSize is the size of the header in bytes. The payload comes
// immediatelly after the header. The length is needed to allow the header to
// expand in the future without breaking remotes that do not yet understand
// the new fields.
HeaderSize uint16
// MessageType describes the payload. It must be one of the pb.MessageType
// values and determine how the payload is interpreted. This is more efficient
// than using protobuf.Any because Any uses the full protobuf name to identify
// the type.
MessageType uint16
// DroppedCount is the number of points that failed to be written and had to
// be dropped. It wraps around after max(uint32).
DroppedCount uint32
}
Header is used to describe the message being sent to the remote process.
0 --------- 16 ---------- 32 ----------- 64 -----------+ | HeaderSize | MessageType | DroppedCount | Payload... | +---- 16 ----+---- 16 -----+----- 32 -----+------------+
+marshal
func (*Header) MarshalBytes ¶
MarshalBytes implements marshal.Marshallable.MarshalBytes.
func (*Header) MarshalUnsafe ¶
MarshalUnsafe implements marshal.Marshallable.MarshalUnsafe.
func (*Header) UnmarshalBytes ¶
UnmarshalBytes implements marshal.Marshallable.UnmarshalBytes.
func (*Header) UnmarshalUnsafe ¶
UnmarshalUnsafe implements marshal.Marshallable.UnmarshalUnsafe.
Click to show internal directories.
Click to hide internal directories.