message

package
v0.0.0-...-87ea4a5 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BinaryMarshalH

func BinaryMarshalH(H string) ([]byte, []byte)

func BinaryMarshalS

func BinaryMarshalS(S string) ([]byte, []byte)

func BinaryMarshalSenderID

func BinaryMarshalSenderID(SenderID string) ([]byte, []byte)

Maybe these could be used when marshalling initMessages

func BinaryMarshalV

func BinaryMarshalV(V [][]byte) ([]byte, []byte)

func BinaryUnmarshal

func BinaryUnmarshal(buf []byte) (Type, Message)

Types

type EchoMessage

type EchoMessage struct {
	H string         `json:"h"`
	S util.Signature `json:"s"`
}

func NewEchoMessage

func NewEchoMessage(h string, s util.Signature) *EchoMessage

func (*EchoMessage) BinaryMarshal

func (msg *EchoMessage) BinaryMarshal() []byte

func (*EchoMessage) BinaryUnmarshal

func (msg *EchoMessage) BinaryUnmarshal(buf []byte)

func (*EchoMessage) GetSenderID

func (msg *EchoMessage) GetSenderID() string

func (*EchoMessage) GetType

func (msg *EchoMessage) GetType() Type

func (*EchoMessage) Hash

func (msg *EchoMessage) Hash() string

func (*EchoMessage) Marshal

func (msg *EchoMessage) Marshal() *TransportMessage

func (*EchoMessage) Payload

func (msg *EchoMessage) Payload() []byte

type InitMessage

type InitMessage struct {
	V        [][]byte `json:"v"`
	SenderID string   `json:"senderID"`
}

func NewInitMessage

func NewInitMessage(v [][]byte, senderID string) *InitMessage

func (*InitMessage) BinaryMarshal

func (msg *InitMessage) BinaryMarshal() []byte

BinaryMarshal Output will look like this (sizes in bytes): TotalSize - Type - IDSize - DataSize - ID - Data

8 -    1 -      8 -        8 -  IDSize - DataSize

func (*InitMessage) BinaryUnmarshal

func (msg *InitMessage) BinaryUnmarshal(buf []byte)

BinaryUnmarshal should only be called by message.BinaryUnmarshal

func (*InitMessage) GetSenderID

func (msg *InitMessage) GetSenderID() string

func (*InitMessage) GetType

func (msg *InitMessage) GetType() Type

func (*InitMessage) Hash

func (msg *InitMessage) Hash() string

func (*InitMessage) Marshal

func (msg *InitMessage) Marshal() *TransportMessage

func (*InitMessage) Payload

func (msg *InitMessage) Payload() []byte

type Message

type Message interface {
	// Payload @Deprecated
	Payload() []byte
	// Only use on InitMessage!
	Hash() string
	// Marshal @Deprecated
	Marshal() *TransportMessage
	GetSenderID() string
	GetType() Type
	BinaryMarshal() []byte
	BinaryUnmarshal(buf []byte)
}

type RequestMessage

type RequestMessage struct {
	H        string `json:"h"`
	SenderID string `json:"senderID"`
}

func NewRequestMessage

func NewRequestMessage(h string, senderID string) *RequestMessage

func (*RequestMessage) BinaryMarshal

func (msg *RequestMessage) BinaryMarshal() []byte

func (*RequestMessage) BinaryUnmarshal

func (msg *RequestMessage) BinaryUnmarshal(buf []byte)

func (*RequestMessage) GetSenderID

func (msg *RequestMessage) GetSenderID() string

func (*RequestMessage) GetType

func (msg *RequestMessage) GetType() Type

func (*RequestMessage) Hash

func (msg *RequestMessage) Hash() string

func (*RequestMessage) Marshal

func (msg *RequestMessage) Marshal() *TransportMessage

func (*RequestMessage) Payload

func (msg *RequestMessage) Payload() []byte

type ResolveMessage

type ResolveMessage struct {
	H        string   `json:"h"`
	V        [][]byte `json:"v"`
	SenderID string   `json:"senderID"`
}

func NewResolveMessage

func NewResolveMessage(h string, v [][]byte, senderID string) *ResolveMessage

func (*ResolveMessage) BinaryMarshal

func (msg *ResolveMessage) BinaryMarshal() []byte

func (*ResolveMessage) BinaryUnmarshal

func (msg *ResolveMessage) BinaryUnmarshal(buf []byte)

func (*ResolveMessage) GetSenderID

func (msg *ResolveMessage) GetSenderID() string

func (*ResolveMessage) GetType

func (msg *ResolveMessage) GetType() Type

func (*ResolveMessage) Hash

func (msg *ResolveMessage) Hash() string

func (*ResolveMessage) Marshal

func (msg *ResolveMessage) Marshal() *TransportMessage

func (*ResolveMessage) Payload

func (msg *ResolveMessage) Payload() []byte

type TransportMessage

type TransportMessage struct {
	Type    Type            `json:"type"`
	Payload json.RawMessage `json:"payload"`
}

type Type

type Type string
const (
	Init    Type = "init"
	Echo    Type = "echo"
	Request Type = "request"
	Resolve Type = "resolve"
)

Jump to

Keyboard shortcuts

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