node

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAuthedConn

func NewAuthedConn(name, network, address string) (net.Conn, error)

Types

type DataAuth

type DataAuth struct {
	Name string `json:"name"`
}

type MessageHandler

type MessageHandler func(n *Node, msg MessageIn) error

type MessageIn

type MessageIn struct {
	ID          string `json:"id,omitempty"` // 消息ID, 只要客户端自己唯一即可
	Data        []byte `json:"-"`
	Err         error  `json:"err,omitempty"`
	Type        string `json:"type,omitempty"`
	NodeName    string `json:"node_name,omitempty"`
	ServiceName string `json:"service_name,omitempty"`
}

接收到的消息

func NewInMessage

func NewInMessage() *MessageIn

func (MessageIn) Bytes

func (m MessageIn) Bytes() []byte

func (*MessageIn) SetData

func (m *MessageIn) SetData(data []byte) *MessageIn

func (*MessageIn) SetError

func (m *MessageIn) SetError(err error) *MessageIn

func (*MessageIn) SetID

func (m *MessageIn) SetID(id string) *MessageIn

func (*MessageIn) SetNodeName

func (m *MessageIn) SetNodeName(c string) *MessageIn

func (*MessageIn) SetServiceName

func (m *MessageIn) SetServiceName(s string) *MessageIn

func (*MessageIn) SetType

func (m *MessageIn) SetType(t string) *MessageIn

func (MessageIn) String

func (m MessageIn) String() string

type MessageOut

type MessageOut struct {
	ID          string      `json:"id,omitempty"`
	Data        interface{} `json:"data,omitempty"`
	Type        string      `json:"type,omitempty"`
	NodeName    string      `json:"node_name,omitempty"`
	ServiceName string      `json:"service_name,omitempty"`
	Wait        bool        `json:"wait,omitempty"`
}

发出的消息

func NewAuthMessage

func NewAuthMessage(name string) *MessageOut

func NewOutMessage

func NewOutMessage() *MessageOut

func (MessageOut) Bytes

func (m MessageOut) Bytes() []byte

func (*MessageOut) SetData

func (m *MessageOut) SetData(data any) *MessageOut

func (*MessageOut) SetID

func (m *MessageOut) SetID(id string) *MessageOut

func (*MessageOut) SetNodeName

func (m *MessageOut) SetNodeName(c string) *MessageOut

func (*MessageOut) SetServiceName

func (m *MessageOut) SetServiceName(s string) *MessageOut

func (*MessageOut) SetType

func (m *MessageOut) SetType(t string) *MessageOut

func (*MessageOut) SetWait

func (m *MessageOut) SetWait(w bool) *MessageOut

func (MessageOut) String

func (m MessageOut) String() string

type Node

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

func NewNode

func NewNode(name, network, address string) (*Node, error)

func (*Node) HandleMessage

func (n *Node) HandleMessage(msg MessageIn) error

处理消息

func (*Node) IsClosed

func (n *Node) IsClosed() bool

func (*Node) RegistMessageHandler

func (n *Node) RegistMessageHandler(msgType string, handler MessageHandler)

注册消息处理函数

func (*Node) RegisterService

func (n *Node) RegisterService(serviceName string, handler ServiceHandler) error

注册服务处理函数

func (*Node) RequestService

func (n *Node) RequestService(serviceName string, data interface{}) MessageIn

请求服务

func (*Node) SendMessage

func (n *Node) SendMessage(msg MessageOut) MessageIn

type ServiceHandler

type ServiceHandler func(n *Node, msg MessageIn) (interface{}, error)

Jump to

Keyboard shortcuts

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