rpc

package
v0.0.0-...-83fd405 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PH = 0
)

Variables

This section is empty.

Functions

This section is empty.

Types

type IMessage

type IMessage interface {
	proto.Message
	Size() int
	Marshal() (dAtA []byte, err error)
	Unmarshal([]byte) error
	RPC()
	MessageID() MessageID
	MessageName() string
	ResetEx()
	ResponseMessageID() MessageID
}

type IMessageDispatcher

type IMessageDispatcher interface {
	Register(id MessageID, handler MessageHandler) (err error)
	Dispatch(iProtocol IProtocol, sender *actor.PID, iRecv IMessage, ctx actor.Context, args ...interface{}) (iSend IMessage, err error)
}

type IMessageFactoryManager

type IMessageFactoryManager interface {
	Register(iMsg IMessage, producer MessageProducer, recycler MessageRecycler)
	Produce(id MessageID) (IMessage, error)
	Recycle(iMsg IMessage) error
}

type IProtocol

type IProtocol interface {
	IMessageFactoryManager
}

func Protocol

func Protocol(allocator nproto.IAllocator) IProtocol

type MessageDispatcher

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

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

func NewMessageDispatcher

func NewMessageDispatcher() *MessageDispatcher

func (*MessageDispatcher) Dispatch

func (m *MessageDispatcher) Dispatch(iProtocol IProtocol, sender *actor.PID, iRecv IMessage, ctx actor.Context, args ...interface{}) (iSend IMessage, err error)

func (*MessageDispatcher) Register

func (m *MessageDispatcher) Register(id MessageID, handler MessageHandler) (err error)

type MessageHandler

type MessageHandler func(sender *actor.PID, iRecv IMessage, iSend IMessage, ctx actor.Context, args ...interface{})

type MessageID

type MessageID = uint32

type MessageProducer

type MessageProducer func() IMessage

type MessageRecycler

type MessageRecycler func(IMessage)

Jump to

Keyboard shortcuts

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