Documentation
¶
Index ¶
Constants ¶
View Source
const ( PacketTypeRequest = 0 PacketTypeResponse = 1 PacketTypeHint = 2 )
View Source
const ( RPCDefaultMaxHeaderLen = 10 * 1024 * 1024 RPCDefaultMaxBodyLen = 10 * 1024 * 1024 RPCDefaultMaxPeerIDLen = 1024 )
RPC body/header limit
View Source
const (
RPCNegoMessageType = 0xFFFF
)
RPC Nego msg type
Variables ¶
View Source
var ( NegoPacket = &RPCNegoPacket{Magic: 0x4D4F4341, Flag: negotiationFlagNoHint, ID: []byte("")} HintPacket = &RPCPacket{Tp: PacketTypeHint} )
View Source
var ( ErrRPCHeaderSizeLimit = errors.New("rpc header size max error") ErrRPCBodySizeLimit = errors.New("rpc body size max error") ErrRPCPeerIDSizeLimit = errors.New("rpc peerid size max error") )
rpc codec errors
View Source
var ErrChanSize = errors.New("ikioSocket: excced the request channel size")
View Source
var ErrExited = errors.New("ikioSocket: connection closed")
View Source
var ErrTimeout = errors.New("ikioSocket: request timeout")
Functions ¶
Types ¶
type IKIOSocket ¶
type IKIOSocket struct {
// contains filtered or unexported fields
}
func New ¶
func New(l *logging.Logger) *IKIOSocket
func (*IKIOSocket) Call ¶
func (i *IKIOSocket) Call(req *Context, options ...Option) (*Context, error)
func (*IKIOSocket) Close ¶
func (i *IKIOSocket) Close() error
func (*IKIOSocket) StartWithConn ¶
func (i *IKIOSocket) StartWithConn(conn net.Conn)
type RPCCodec ¶
type RPCNegoPacket ¶
func (*RPCNegoPacket) Serialize ¶
func (rnp *RPCNegoPacket) Serialize() ([]byte, error)
func (*RPCNegoPacket) Type ¶
func (rnp *RPCNegoPacket) Type() int32
type RPCPacket ¶
type RPCPacket struct { ID int64 Code int32 Header []RPCPacketHeader Payload []byte Tp int32 Flags int32 }
func (*RPCPacket) ForeachHeader ¶
type RPCPacketHeader ¶
Click to show internal directories.
Click to hide internal directories.