protocol

package
v2.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2025 License: AGPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Package protocol implements the Messaging protocol

Index

Constants

View Source
const (
	// ProtocolID is the protocol ID for the Messaging protocol
	ProtocolID = 0x17

	// MethodDeliverMessage is the method ID for method DeliverMessage
	MethodDeliverMessage = 0x1

	// MethodGetNumberOfMessages is the method ID for method GetNumberOfMessages
	MethodGetNumberOfMessages = 0x2

	// MethodGetMessagesHeaders is the method ID for method GetMessagesHeaders
	MethodGetMessagesHeaders = 0x3

	// MethodRetrieveAllMessagesWithinRange is the method ID for method RetrieveAllMessagesWithinRange
	MethodRetrieveAllMessagesWithinRange = 0x4

	// MethodRetrieveMessages is the method ID for method RetrieveMessages
	MethodRetrieveMessages = 0x5

	// MethodDeleteMessages is the method ID for method DeleteMessages
	MethodDeleteMessages = 0x6

	// MethodDeleteAllMessages is the method ID for method DeleteAllMessages
	MethodDeleteAllMessages = 0x7

	// MethodDeliverMessageMultiTarget is the method ID for method DeliverMessageMultiTarget
	MethodDeliverMessageMultiTarget = 0x8
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Interface

type Interface interface {
	Endpoint() nex.EndpointInterface
	SetEndpoint(endpoint nex.EndpointInterface)
	SetHandlerDeliverMessage(handler func(err error, packet nex.PacketInterface, callID uint32, oUserMessage types.DataHolder) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetNumberOfMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetMessagesHeaders(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error))
	SetHandlerRetrieveAllMessagesWithinRange(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error))
	SetHandlerRetrieveMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMsgIDs types.List[types.UInt32], bLeaveOnServer types.Bool) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeleteMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMessagesToDelete types.List[types.UInt32]) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeleteAllMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeliverMessageMultiTarget(handler func(err error, packet nex.PacketInterface, callID uint32, packetPayload []byte) (*nex.RMCMessage, *nex.Error))
}

Interface implements the methods present on the Messaging protocol struct

type Protocol

type Protocol struct {
	DeliverMessage                 func(err error, packet nex.PacketInterface, callID uint32, oUserMessage types.DataHolder) (*nex.RMCMessage, *nex.Error)
	GetNumberOfMessages            func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error)
	GetMessagesHeaders             func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error)
	RetrieveAllMessagesWithinRange func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error)
	RetrieveMessages               func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMsgIDs types.List[types.UInt32], bLeaveOnServer types.Bool) (*nex.RMCMessage, *nex.Error)
	DeleteMessages                 func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMessagesToDelete types.List[types.UInt32]) (*nex.RMCMessage, *nex.Error)
	DeleteAllMessages              func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error)
	DeliverMessageMultiTarget      func(err error, packet nex.PacketInterface, callID uint32, packetPayload []byte) (*nex.RMCMessage, *nex.Error) // TODO - Unknown request/response format
	Patches                        nex.ServiceProtocol
	PatchedMethods                 []uint32
	// contains filtered or unexported fields
}

Protocol stores all the RMC method handlers for the Messaging protocol and listens for requests

func NewProtocol

func NewProtocol() *Protocol

NewProtocol returns a new Messaging protocol

func (*Protocol) Endpoint

func (protocol *Protocol) Endpoint() nex.EndpointInterface

Endpoint returns the endpoint implementing the protocol

func (*Protocol) HandlePacket

func (protocol *Protocol) HandlePacket(packet nex.PacketInterface)

HandlePacket sends the packet to the correct RMC method handler

func (*Protocol) SetEndpoint

func (protocol *Protocol) SetEndpoint(endpoint nex.EndpointInterface)

SetEndpoint sets the endpoint implementing the protocol

func (*Protocol) SetHandlerDeleteAllMessages

func (protocol *Protocol) SetHandlerDeleteAllMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error))

SetHandlerDeleteAllMessages sets the handler for the DeleteAllMessages method

func (*Protocol) SetHandlerDeleteMessages

func (protocol *Protocol) SetHandlerDeleteMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMessagesToDelete types.List[types.UInt32]) (*nex.RMCMessage, *nex.Error))

SetHandlerDeleteMessages sets the handler for the DeleteMessages method

func (*Protocol) SetHandlerDeliverMessage

func (protocol *Protocol) SetHandlerDeliverMessage(handler func(err error, packet nex.PacketInterface, callID uint32, oUserMessage types.DataHolder) (*nex.RMCMessage, *nex.Error))

SetHandlerDeliverMessage sets the handler for the DeliverMessage method

func (*Protocol) SetHandlerDeliverMessageMultiTarget

func (protocol *Protocol) SetHandlerDeliverMessageMultiTarget(handler func(err error, packet nex.PacketInterface, callID uint32, packetPayload []byte) (*nex.RMCMessage, *nex.Error))

SetHandlerDeliverMessageMultiTarget sets the handler for the DeliverMessageMultiTarget method

func (*Protocol) SetHandlerGetMessagesHeaders

func (protocol *Protocol) SetHandlerGetMessagesHeaders(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error))

SetHandlerGetMessagesHeaders sets the handler for the GetMessagesHeaders method

func (*Protocol) SetHandlerGetNumberOfMessages

func (protocol *Protocol) SetHandlerGetNumberOfMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient) (*nex.RMCMessage, *nex.Error))

SetHandlerGetNumberOfMessages sets the handler for the GetNumberOfMessages method

func (*Protocol) SetHandlerRetrieveAllMessagesWithinRange

func (protocol *Protocol) SetHandlerRetrieveAllMessagesWithinRange(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, resultRange types.ResultRange) (*nex.RMCMessage, *nex.Error))

SetHandlerRetrieveAllMessagesWithinRange sets the handler for the RetrieveAllMessagesWithinRange method

func (*Protocol) SetHandlerRetrieveMessages

func (protocol *Protocol) SetHandlerRetrieveMessages(handler func(err error, packet nex.PacketInterface, callID uint32, recipient messaging_types.MessageRecipient, lstMsgIDs types.List[types.UInt32], bLeaveOnServer types.Bool) (*nex.RMCMessage, *nex.Error))

SetHandlerRetrieveMessages sets the handler for the RetrieveMessages method

Directories

Path Synopsis
Package types implements all the types used by the MessageDelivery protocol
Package types implements all the types used by the MessageDelivery protocol

Jump to

Keyboard shortcuts

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