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: 2

Documentation

Overview

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Package protocol implements the Ranking protocol

Index

Constants

View Source
const (
	// ProtocolID is the protocol ID for the Ranking protocol
	ProtocolID = 0x70

	// MethodUploadScore is the method ID for method UploadScore
	MethodUploadScore = 0x1

	// MethodDeleteScore is the method ID for method DeleteScore
	MethodDeleteScore = 0x2

	// MethodDeleteAllScores is the method ID for method DeleteAllScores
	MethodDeleteAllScores = 0x3

	// MethodUploadCommonData is the method ID for method UploadCommonData
	MethodUploadCommonData = 0x4

	// MethodDeleteCommonData is the method ID for method DeleteCommonData
	MethodDeleteCommonData = 0x5

	// MethodGetCommonData is the method ID for method GetCommonData
	MethodGetCommonData = 0x6

	// MethodChangeAttributes is the method ID for method ChangeAttributes
	MethodChangeAttributes = 0x7

	// MethodChangeAllAttributes is the method ID for method ChangeAllAttributes
	MethodChangeAllAttributes = 0x8

	// MethodGetRanking is the method ID for method GetRanking
	MethodGetRanking = 0x9

	// MethodGetApproxOrder is the method ID for method GetApproxOrder
	MethodGetApproxOrder = 0xA

	// MethodGetStats is the method ID for method GetStats
	MethodGetStats = 0xB

	// MethodGetRankingByPIDList is the method ID for method GetRankingByPIDList
	MethodGetRankingByPIDList = 0xC

	// MethodGetRankingByUniqueIDList is the method ID for method GetRankingByUniqueIDList
	MethodGetRankingByUniqueIDList = 0xD

	// MethodGetCachedTopXRanking is the method ID for method GetCachedTopXRanking
	MethodGetCachedTopXRanking = 0xE

	// MethodGetCachedTopXRankings is the method ID for method GetCachedTopXRankings
	MethodGetCachedTopXRankings = 0xF
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Interface

type Interface interface {
	Endpoint() nex.EndpointInterface
	SetEndpoint(endpoint nex.EndpointInterface)
	SetHandlerUploadScore(handler func(err error, packet nex.PacketInterface, callID uint32, scoreData ranking_types.RankingScoreData, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeleteScore(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeleteAllScores(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerUploadCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, commonData types.Buffer, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerDeleteCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerChangeAttributes(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerChangeAllAttributes(handler func(err error, packet nex.PacketInterface, callID uint32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetRanking(handler func(err error, packet nex.PacketInterface, callID uint32, rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetApproxOrder(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, score types.UInt32, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetStats(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, flags types.UInt32) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetRankingByPIDList(handler func(err error, packet nex.PacketInterface, callID uint32, principalIDList types.List[types.PID], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetRankingByUniqueIDList(handler func(err error, packet nex.PacketInterface, callID uint32, nexUniqueIDList types.List[types.UInt64], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetCachedTopXRanking(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam) (*nex.RMCMessage, *nex.Error))
	SetHandlerGetCachedTopXRankings(handler func(err error, packet nex.PacketInterface, callID uint32, categories types.List[types.UInt32], orderParams types.List[ranking_types.RankingOrderParam]) (*nex.RMCMessage, *nex.Error))
}

Interface implements the methods present on the Ranking protocol struct

type Protocol

type Protocol struct {
	UploadScore              func(err error, packet nex.PacketInterface, callID uint32, scoreData ranking_types.RankingScoreData, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	DeleteScore              func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	DeleteAllScores          func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	UploadCommonData         func(err error, packet nex.PacketInterface, callID uint32, commonData types.Buffer, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	DeleteCommonData         func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	GetCommonData            func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	ChangeAttributes         func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	ChangeAllAttributes      func(err error, packet nex.PacketInterface, callID uint32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	GetRanking               func(err error, packet nex.PacketInterface, callID uint32, rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error)
	GetApproxOrder           func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, score types.UInt32, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error)
	GetStats                 func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, flags types.UInt32) (*nex.RMCMessage, *nex.Error)
	GetRankingByPIDList      func(err error, packet nex.PacketInterface, callID uint32, principalIDList types.List[types.PID], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	GetRankingByUniqueIDList func(err error, packet nex.PacketInterface, callID uint32, nexUniqueIDList types.List[types.UInt64], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error)
	GetCachedTopXRanking     func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam) (*nex.RMCMessage, *nex.Error)
	GetCachedTopXRankings    func(err error, packet nex.PacketInterface, callID uint32, categories types.List[types.UInt32], orderParams types.List[ranking_types.RankingOrderParam]) (*nex.RMCMessage, *nex.Error)
	Patches                  nex.ServiceProtocol
	PatchedMethods           []uint32
	// contains filtered or unexported fields
}

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

func NewProtocol

func NewProtocol() *Protocol

NewProtocol returns a new Ranking 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) SetHandlerChangeAllAttributes

func (protocol *Protocol) SetHandlerChangeAllAttributes(handler func(err error, packet nex.PacketInterface, callID uint32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerChangeAllAttributes sets the handler for the ChangeAllAttributes method

func (*Protocol) SetHandlerChangeAttributes

func (protocol *Protocol) SetHandlerChangeAttributes(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, changeParam ranking_types.RankingChangeAttributesParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerChangeAttributes sets the handler for the ChangeAttributes method

func (*Protocol) SetHandlerDeleteAllScores

func (protocol *Protocol) SetHandlerDeleteAllScores(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerDeleteAllScores sets the handler for the DeleteAllScores method

func (*Protocol) SetHandlerDeleteCommonData

func (protocol *Protocol) SetHandlerDeleteCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerDeleteCommonData sets the handler for the DeleteCommonData method

func (*Protocol) SetHandlerDeleteScore

func (protocol *Protocol) SetHandlerDeleteScore(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerDeleteScore sets the handler for the DeleteScore method

func (*Protocol) SetHandlerGetApproxOrder

func (protocol *Protocol) SetHandlerGetApproxOrder(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, score types.UInt32, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error))

SetHandlerGetApproxOrder sets the handler for the GetApproxOrder method

func (*Protocol) SetHandlerGetCachedTopXRanking

func (protocol *Protocol) SetHandlerGetCachedTopXRanking(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam) (*nex.RMCMessage, *nex.Error))

SetHandlerGetCachedTopXRanking sets the handler for the GetCachedTopXRanking method

func (*Protocol) SetHandlerGetCachedTopXRankings

func (protocol *Protocol) SetHandlerGetCachedTopXRankings(handler func(err error, packet nex.PacketInterface, callID uint32, categories types.List[types.UInt32], orderParams types.List[ranking_types.RankingOrderParam]) (*nex.RMCMessage, *nex.Error))

SetHandlerGetCachedTopXRankings sets the handler for the GetCachedTopXRankings method

func (*Protocol) SetHandlerGetCommonData

func (protocol *Protocol) SetHandlerGetCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerGetCommonData sets the handler for the GetCommonData method

func (*Protocol) SetHandlerGetRanking

func (protocol *Protocol) SetHandlerGetRanking(handler func(err error, packet nex.PacketInterface, callID uint32, rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64, principalID types.PID) (*nex.RMCMessage, *nex.Error))

SetHandlerGetRanking sets the handler for the GetRanking method

func (*Protocol) SetHandlerGetRankingByPIDList

func (protocol *Protocol) SetHandlerGetRankingByPIDList(handler func(err error, packet nex.PacketInterface, callID uint32, principalIDList types.List[types.PID], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerGetRankingByPIDList sets the handler for the GetRankingByPIDList method

func (*Protocol) SetHandlerGetRankingByUniqueIDList

func (protocol *Protocol) SetHandlerGetRankingByUniqueIDList(handler func(err error, packet nex.PacketInterface, callID uint32, nexUniqueIDList types.List[types.UInt64], rankingMode types.UInt8, category types.UInt32, orderParam ranking_types.RankingOrderParam, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerGetRankingByUniqueIDList sets the handler for the GetRankingByUniqueIDList method

func (*Protocol) SetHandlerGetStats

func (protocol *Protocol) SetHandlerGetStats(handler func(err error, packet nex.PacketInterface, callID uint32, category types.UInt32, orderParam ranking_types.RankingOrderParam, flags types.UInt32) (*nex.RMCMessage, *nex.Error))

SetHandlerGetStats sets the handler for the GetStats method

func (*Protocol) SetHandlerUploadCommonData

func (protocol *Protocol) SetHandlerUploadCommonData(handler func(err error, packet nex.PacketInterface, callID uint32, commonData types.Buffer, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerUploadCommonData sets the handler for the UploadCommonData method

func (*Protocol) SetHandlerUploadScore

func (protocol *Protocol) SetHandlerUploadScore(handler func(err error, packet nex.PacketInterface, callID uint32, scoreData ranking_types.RankingScoreData, uniqueID types.UInt64) (*nex.RMCMessage, *nex.Error))

SetHandlerUploadScore sets the handler for the UploadScore method

Directories

Path Synopsis
Package protocol implements the RankingMarioKart8 protocol
Package protocol implements the RankingMarioKart8 protocol
types
Package types implements all the types used by the Ranking protocol
Package types implements all the types used by the Ranking protocol
Package protocol implements the RankingSplatoon protocol
Package protocol implements the RankingSplatoon protocol
Package types implements all the types used by the Ranking protocol
Package types implements all the types used by the Ranking protocol

Jump to

Keyboard shortcuts

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