wire

package
v0.0.0-...-8940ca0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2023 License: Apache-2.0, MIT Imports: 7 Imported by: 0

Documentation

Overview

Package wire defines structs used in the wire format for the remote checker.

Index

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 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) CopyIn

func (h *Header) CopyIn(cc marshal.CopyContext, addr hostarch.Addr) (int, error)

CopyIn implements marshal.Marshallable.CopyIn.

func (*Header) CopyOut

func (h *Header) CopyOut(cc marshal.CopyContext, addr hostarch.Addr) (int, error)

CopyOut implements marshal.Marshallable.CopyOut.

func (*Header) CopyOutN

func (h *Header) CopyOutN(cc marshal.CopyContext, addr hostarch.Addr, limit int) (int, error)

CopyOutN implements marshal.Marshallable.CopyOutN.

func (*Header) MarshalBytes

func (h *Header) MarshalBytes(dst []byte) []byte

MarshalBytes implements marshal.Marshallable.MarshalBytes.

func (*Header) MarshalUnsafe

func (h *Header) MarshalUnsafe(dst []byte) []byte

MarshalUnsafe implements marshal.Marshallable.MarshalUnsafe.

func (*Header) Packed

func (h *Header) Packed() bool

Packed implements marshal.Marshallable.Packed.

func (*Header) SizeBytes

func (h *Header) SizeBytes() int

SizeBytes implements marshal.Marshallable.SizeBytes.

func (*Header) UnmarshalBytes

func (h *Header) UnmarshalBytes(src []byte) []byte

UnmarshalBytes implements marshal.Marshallable.UnmarshalBytes.

func (*Header) UnmarshalUnsafe

func (h *Header) UnmarshalUnsafe(src []byte) []byte

UnmarshalUnsafe implements marshal.Marshallable.UnmarshalUnsafe.

func (*Header) WriteTo

func (h *Header) WriteTo(writer io.Writer) (int64, error)

WriteTo implements io.WriterTo.WriteTo.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL