raw

package
v0.0.0-...-3192b2a Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2022 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxAppMessageLen = 1200
	MaxTagLen        = 16
)
View Source
const (
	NotReady uint8 = iota
	Initialized
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BLEListenParameters

type BLEListenParameters struct {
	// contains filtered or unexported fields
}

type BLETransport

type BLETransport struct {
	// contains filtered or unexported fields
}

type BLETransportBase

type BLETransportBase interface {
	TransportBase
}

type Delegate

type Delegate interface {
	HandleMessageReceived(srcAddr netip.AddrPort, msg *system.PacketBufferHandle)
}

type MessageAuthenticationCode

type MessageAuthenticationCode struct {
	// contains filtered or unexported fields
}

func NewMessageAuthenticationCode

func NewMessageAuthenticationCode() *MessageAuthenticationCode

func (*MessageAuthenticationCode) Decode

func (*MessageAuthenticationCode) Encode

func (c *MessageAuthenticationCode) Encode(header *PacketHeader, writer io.Writer) error

func (*MessageAuthenticationCode) SetTag

func (c *MessageAuthenticationCode) SetTag(header *PacketHeader, tag []byte)

func (*MessageAuthenticationCode) Tag

func (c *MessageAuthenticationCode) Tag() []byte

type PacketHeader

type PacketHeader struct {
	DestinationGroupId optional.Option[lib.GroupId]

	SessionId         uint16
	MessageCounter    uint32
	SourceNodeId      optional.Option[lib.NodeId]
	DestinationNodeId optional.Option[lib.NodeId]
	// contains filtered or unexported fields
}

func NewPacketHeader

func NewPacketHeader(opts ...paketHeaderOption) *PacketHeader

func (*PacketHeader) ClearDestinationGroupId

func (header *PacketHeader) ClearDestinationGroupId()

func (*PacketHeader) ClearSourceNodeId

func (header *PacketHeader) ClearSourceNodeId()

func (*PacketHeader) DecodeAndConsume

func (header *PacketHeader) DecodeAndConsume(buf io.Reader) error

func (*PacketHeader) Encode

func (header *PacketHeader) Encode(w io.Writer) (err error)

func (*PacketHeader) EncodeSizeBytes

func (header *PacketHeader) EncodeSizeBytes() uint16

func (*PacketHeader) HasPrivacyFlag

func (header *PacketHeader) HasPrivacyFlag() bool

func (*PacketHeader) IsEncrypted

func (header *PacketHeader) IsEncrypted() bool

func (*PacketHeader) IsGroupSession

func (header *PacketHeader) IsGroupSession() bool

func (*PacketHeader) IsSecureSessionControlMsg

func (header *PacketHeader) IsSecureSessionControlMsg() bool

func (*PacketHeader) IsSessionTypeValid

func (header *PacketHeader) IsSessionTypeValid() bool

func (*PacketHeader) IsUnicastSession

func (header *PacketHeader) IsUnicastSession() bool

func (*PacketHeader) IsValidGroupMsg

func (header *PacketHeader) IsValidGroupMsg() bool

func (*PacketHeader) IsValidMCSPMsg

func (header *PacketHeader) IsValidMCSPMsg() bool

func (*PacketHeader) MICTagLength

func (header *PacketHeader) MICTagLength() int

func (*PacketHeader) SecurityFlags

func (header *PacketHeader) SecurityFlags() uint8

func (*PacketHeader) SetDestinationGroupId

func (header *PacketHeader) SetDestinationGroupId(id lib.GroupId) *PacketHeader

func (*PacketHeader) SetDestinationNodeId

func (header *PacketHeader) SetDestinationNodeId(id lib.NodeId)

func (*PacketHeader) SetMessageCounter

func (header *PacketHeader) SetMessageCounter(u uint32)

func (*PacketHeader) SetSecureSessionControlMsg

func (header *PacketHeader) SetSecureSessionControlMsg(b bool) *PacketHeader

func (*PacketHeader) SetSessionId

func (header *PacketHeader) SetSessionId(id uint16)

func (*PacketHeader) SetSessionType

func (header *PacketHeader) SetSessionType(sessionType SessionType) *PacketHeader

func (*PacketHeader) SetSourceNodeId

func (header *PacketHeader) SetSourceNodeId(id lib.NodeId) *PacketHeader

func (*PacketHeader) SetUnsecured

func (header *PacketHeader) SetUnsecured()

func (*PacketHeader) VersionId

func (header *PacketHeader) VersionId() uint8

type PayloadHeader

type PayloadHeader struct {
	MessageType       uint8
	ExchangeId        uint16
	ProtocolId        protocols.Id
	AckMessageCounter optional.Option[uint32]
	// contains filtered or unexported fields
}

func NewPayloadHeader

func NewPayloadHeader(opts ...payloadHeaderOption) *PayloadHeader

func (*PayloadHeader) DecodeAndConsume

func (header *PayloadHeader) DecodeAndConsume(buf io.Reader) (err error)

func (*PayloadHeader) Encode

func (header *PayloadHeader) Encode(buf io.Writer) (err error)

func (*PayloadHeader) EncodeSizeBytes

func (header *PayloadHeader) EncodeSizeBytes() uint16

func (*PayloadHeader) HasMessageType

func (header *PayloadHeader) HasMessageType(t uint8) bool

func (*PayloadHeader) HaveVendorId

func (header *PayloadHeader) HaveVendorId() bool

func (*PayloadHeader) IsAckMsg

func (header *PayloadHeader) IsAckMsg() bool

func (*PayloadHeader) IsInitiator

func (header *PayloadHeader) IsInitiator() bool

func (*PayloadHeader) LogValue

func (header *PayloadHeader) LogValue() log.Value

func (*PayloadHeader) NeedsAck

func (header *PayloadHeader) NeedsAck() bool

func (*PayloadHeader) SetAckMessageCounter

func (header *PayloadHeader) SetAckMessageCounter(counter uint32) *PayloadHeader

func (*PayloadHeader) SetInitiator

func (header *PayloadHeader) SetInitiator(initiator bool) *PayloadHeader

func (*PayloadHeader) SetMessageType

func (header *PayloadHeader) SetMessageType(id protocols.Id, typ uint8) *PayloadHeader

func (*PayloadHeader) SetNeedsAck

func (header *PayloadHeader) SetNeedsAck(inNeedsAck bool) *PayloadHeader

func (*PayloadHeader) SetProtocol

func (header *PayloadHeader) SetProtocol(id protocols.Id) *PayloadHeader

type PeerAddress

type PeerAddress struct {
	TransportType TransportType
	Interface     net.Interface
	AddrPort      netip.AddrPort
}

type SessionType

type SessionType uint8
const (
	UnicastSession SessionType = 0
	GroupSession   SessionType = 1
)

func (SessionType) String

func (t SessionType) String() string

type TCPListenParameters

type TCPListenParameters struct {
	// contains filtered or unexported fields
}

type TCPTransport

type TCPTransport struct {
	// contains filtered or unexported fields
}

type TCPTransportBase

type TCPTransportBase interface {
	TransportBase
}

type TransportBase

type TransportBase interface {
	SetDelegate(m Delegate)
	SendMessage(peerAddr netip.AddrPort, msg *system.PacketBufferHandle) error
	Disconnect(peerAddr netip.AddrPort)
	Close()
}

type TransportType

type TransportType uint8
const (
	Undefined TransportType = iota
	Udp
	Ble
	Tcp
)

type UDPTransport

type UDPTransport struct {
	// contains filtered or unexported fields
}

UDPTransport impl TransportBase and add init func

func NewUdpTransport

func NewUdpTransport() *UDPTransport

func (*UDPTransport) BoundPort

func (u *UDPTransport) BoundPort() uint16

func (*UDPTransport) Close

func (u *UDPTransport) Close()

func (*UDPTransport) Disconnect

func (u *UDPTransport) Disconnect(addr netip.AddrPort)

func (*UDPTransport) Init

func (u *UDPTransport) Init(parameters *UdpListenParameters) error

func (*UDPTransport) MulticastGroupJoinLeave

func (u *UDPTransport) MulticastGroupJoinLeave(addr netip.Addr, join bool) error

func (*UDPTransport) SendMessage

func (u *UDPTransport) SendMessage(port netip.AddrPort, msg *system.PacketBufferHandle) error

func (*UDPTransport) SetDelegate

func (u *UDPTransport) SetDelegate(m Delegate)

type UDPTransportBase

type UDPTransportBase interface {
	TransportBase
	BoundPort() uint16
	Init(parameters *UdpListenParameters) error
}

UDPTransportBase Must impl TransportBase

type UdpListenParameters

type UdpListenParameters struct {
	// contains filtered or unexported fields
}

func (*UdpListenParameters) Address

func (l *UdpListenParameters) Address() netip.AddrPort

func (*UdpListenParameters) SetAddress

func (l *UdpListenParameters) SetAddress(address netip.AddrPort) *UdpListenParameters

Jump to

Keyboard shortcuts

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