Documentation
¶
Overview ¶
Package rpc is a generated protocol buffer package.
It is generated from these files:
codec.proto
It has these top-level messages:
GettyRPCRequestHeader GettyRPCResponseHeader
Index ¶
- Constants
- Variables
- type AsyncCallback
- type CallOption
- type CallOptions
- type CallResponse
- type CallType
- type Client
- func (c *Client) AsyncCall(typ CodecType, addr, service, method string, args interface{}, ...) error
- func (c *Client) Call(typ CodecType, addr, service, method string, args, reply interface{}, ...) error
- func (c *Client) CallOneway(typ CodecType, addr, service, method string, args interface{}, ...) error
- func (c *Client) Close()
- type ClientConfig
- type Codec
- type CodecType
- type ErrorCode
- type GettyPackage
- type GettyPackageHeader
- type GettyRPCHeaderLenType
- type GettyRPCRequest
- type GettyRPCRequestHeader
- func (*GettyRPCRequestHeader) Descriptor() ([]byte, []int)
- func (this *GettyRPCRequestHeader) Equal(that interface{}) bool
- func (this *GettyRPCRequestHeader) GoString() string
- func (m *GettyRPCRequestHeader) Marshal() (dAtA []byte, err error)
- func (m *GettyRPCRequestHeader) MarshalTo(dAtA []byte) (int, error)
- func (*GettyRPCRequestHeader) ProtoMessage()
- func (m *GettyRPCRequestHeader) Reset()
- func (m *GettyRPCRequestHeader) Size() (n int)
- func (this *GettyRPCRequestHeader) String() string
- func (m *GettyRPCRequestHeader) Unmarshal(dAtA []byte) error
- func (this *GettyRPCRequestHeader) VerboseEqual(that interface{}) error
- type GettyRPCRequestPackage
- type GettyRPCResponse
- type GettyRPCResponseHeader
- func (*GettyRPCResponseHeader) Descriptor() ([]byte, []int)
- func (this *GettyRPCResponseHeader) Equal(that interface{}) bool
- func (this *GettyRPCResponseHeader) GoString() string
- func (m *GettyRPCResponseHeader) Marshal() (dAtA []byte, err error)
- func (m *GettyRPCResponseHeader) MarshalTo(dAtA []byte) (int, error)
- func (*GettyRPCResponseHeader) ProtoMessage()
- func (m *GettyRPCResponseHeader) Reset()
- func (m *GettyRPCResponseHeader) Size() (n int)
- func (this *GettyRPCResponseHeader) String() string
- func (m *GettyRPCResponseHeader) Unmarshal(dAtA []byte) error
- func (this *GettyRPCResponseHeader) VerboseEqual(that interface{}) error
- type GettyRPCResponsePackage
- type GettyRPCService
- type GettySessionParam
- type JSONCodec
- type LogIDType
- type MagicType
- type PBCodec
- type PendingResponse
- type PkgLenType
- type RPCPackage
- type RpcClientHandler
- func (h *RpcClientHandler) OnClose(session getty.Session)
- func (h *RpcClientHandler) OnCron(session getty.Session)
- func (h *RpcClientHandler) OnError(session getty.Session, err error)
- func (h *RpcClientHandler) OnMessage(session getty.Session, pkg interface{})
- func (h *RpcClientHandler) OnOpen(session getty.Session) error
- type RpcClientPackageHandler
- type RpcServerHandler
- func (h *RpcServerHandler) OnClose(session getty.Session)
- func (h *RpcServerHandler) OnCron(session getty.Session)
- func (h *RpcServerHandler) OnError(session getty.Session, err error)
- func (h *RpcServerHandler) OnMessage(session getty.Session, pkg interface{})
- func (h *RpcServerHandler) OnOpen(session getty.Session) error
- type RpcServerPackageHandler
- type SequenceType
- type Server
- type ServerConfig
- type ServiceIDType
Constants ¶
View Source
const ( CodecUnknown CodecType = 0x00 CodecJson = 0x01 CodecProtobuf = 0x02 )
Variables ¶
View Source
var ( ErrNotEnoughStream = jerrors.New("packet stream is not enough") ErrTooLargePackage = jerrors.New("package length is exceed the getty package's legal maximum length.") ErrInvalidPackage = jerrors.New("invalid rpc package") ErrIllegalMagic = jerrors.New("package magic is not right.") )
View Source
var ( ErrInvalidLengthCodec = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCodec = fmt.Errorf("proto: integer overflow") )
View Source
var CallType_name = map[int32]string{
0: "CT_UNKOWN",
1: "CT_OneWay",
2: "CT_TwoWay",
3: "CT_TwoWayNoReply",
}
View Source
var CallType_value = map[string]int32{
"CT_UNKOWN": 0,
"CT_OneWay": 1,
"CT_TwoWay": 2,
"CT_TwoWayNoReply": 3,
}
View Source
var ( Codecs = map[CodecType]Codec{ CodecJson: &JSONCodec{}, CodecProtobuf: &PBCodec{}, } )
Functions ¶
This section is empty.
Types ¶
type AsyncCallback ¶ added in v1.0.3
type AsyncCallback func(response CallResponse)
type CallOption ¶ added in v1.0.3
type CallOption func(*CallOptions)
func WithCallMeta ¶ added in v1.0.3
func WithCallMeta(k, v interface{}) CallOption
func WithCallRequestTimeout ¶ added in v1.0.3
func WithCallRequestTimeout(d time.Duration) CallOption
func WithCallResponseTimeout ¶ added in v1.0.3
func WithCallResponseTimeout(d time.Duration) CallOption
type CallOptions ¶ added in v1.0.3
type CallResponse ¶ added in v1.0.3
type CallType ¶ added in v0.9.3
type CallType int32
func (CallType) EnumDescriptor ¶ added in v0.9.3
func (CallType) MarshalJSON ¶ added in v0.9.3
func (*CallType) UnmarshalJSON ¶ added in v0.9.3
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(conf *ClientConfig) (*Client, error)
func (*Client) AsyncCall ¶ added in v1.0.3
func (c *Client) AsyncCall(typ CodecType, addr, service, method string, args interface{}, callback AsyncCallback, reply interface{}, opts ...CallOption) error
func (*Client) Call ¶
func (c *Client) Call(typ CodecType, addr, service, method string, args, reply interface{}, opts ...CallOption) error
if @reply is nil, the transport layer will get the response without notify the invoker.
func (*Client) CallOneway ¶ added in v1.0.3
func (c *Client) CallOneway(typ CodecType, addr, service, method string, args interface{}, opts ...CallOption) error
call one way
type ClientConfig ¶
type ClientConfig struct { // local address AppName string `default:"rpc-client" yaml:"app_name" json:"app_name,omitempty"` Host string `default:"127.0.0.1" yaml:"host" json:"host,omitempty"` ProfilePort int `default:"10086" yaml:"profile_port" json:"profile_port,omitempty"` // session pool ConnectionNum int `default:"16" yaml:"connection_number" json:"connection_number,omitempty"` // heartbeat HeartbeatPeriod string `default:"15s" yaml:"heartbeat_period" json:"heartbeat_period,omitempty"` // session SessionTimeout string `default:"60s" yaml:"session_timeout" json:"session_timeout,omitempty"` // app FailFastTimeout string `default:"5s" yaml:"fail_fast_timeout" json:"fail_fast_timeout,omitempty"` // Connection Pool PoolSize int `default:"2" yaml:"pool_size" json:"pool_size,omitempty"` PoolTTL int `default:"180" yaml:"pool_ttl" json:"pool_ttl,omitempty"` // session tcp parameters GettySessionParam GettySessionParam `required:"true" yaml:"getty_session_param" json:"getty_session_param,omitempty"` // contains filtered or unexported fields }
Config holds supported types by the multiconfig package
func (*ClientConfig) CheckValidity ¶ added in v0.9.3
func (c *ClientConfig) CheckValidity() error
type CodecType ¶ added in v0.9.3
type CodecType int16
func GetCodecType ¶ added in v0.9.3
func (CodecType) CheckValidity ¶ added in v0.9.3
type ErrorCode ¶ added in v1.0.2
type ErrorCode int16
const ( GettyOK ErrorCode = 0x00 GettyFail = 0x01 )
type GettyPackage ¶
type GettyPackage struct { H GettyPackageHeader B RPCPackage }
func (GettyPackage) String ¶
func (p GettyPackage) String() string
type GettyPackageHeader ¶
type GettyPackageHeader struct { Magic MagicType // magic number Command gettyCommand // operation command code ServiceID ServiceIDType // service id Sequence SequenceType // request/response sequence LogID LogIDType // log id Code ErrorCode // error code CodecType CodecType // codec type PkgLen PkgLenType // package body length }
type GettyRPCHeaderLenType ¶
type GettyRPCHeaderLenType uint16
type GettyRPCRequest ¶
type GettyRPCRequest struct {
// contains filtered or unexported fields
}
func (*GettyRPCRequest) GetBody ¶
func (req *GettyRPCRequest) GetBody() []byte
func (*GettyRPCRequest) GetHeader ¶
func (req *GettyRPCRequest) GetHeader() interface{}
type GettyRPCRequestHeader ¶
type GettyRPCRequestHeader struct { Service string `protobuf:"bytes,1,opt,name=Service" json:"Service"` Method string `protobuf:"bytes,2,opt,name=Method" json:"Method"` CallType CallType `protobuf:"varint,3,opt,name=CallType,enum=rpc.CallType" json:"CallType"` }
func (*GettyRPCRequestHeader) Descriptor ¶ added in v0.9.3
func (*GettyRPCRequestHeader) Descriptor() ([]byte, []int)
func (*GettyRPCRequestHeader) Equal ¶ added in v0.9.3
func (this *GettyRPCRequestHeader) Equal(that interface{}) bool
func (*GettyRPCRequestHeader) GoString ¶ added in v0.9.3
func (this *GettyRPCRequestHeader) GoString() string
func (*GettyRPCRequestHeader) Marshal ¶ added in v0.9.3
func (m *GettyRPCRequestHeader) Marshal() (dAtA []byte, err error)
func (*GettyRPCRequestHeader) MarshalTo ¶ added in v0.9.3
func (m *GettyRPCRequestHeader) MarshalTo(dAtA []byte) (int, error)
func (*GettyRPCRequestHeader) ProtoMessage ¶ added in v0.9.3
func (*GettyRPCRequestHeader) ProtoMessage()
func (*GettyRPCRequestHeader) Reset ¶ added in v0.9.3
func (m *GettyRPCRequestHeader) Reset()
func (*GettyRPCRequestHeader) Size ¶ added in v0.9.3
func (m *GettyRPCRequestHeader) Size() (n int)
func (*GettyRPCRequestHeader) String ¶ added in v0.9.3
func (this *GettyRPCRequestHeader) String() string
func (*GettyRPCRequestHeader) Unmarshal ¶ added in v0.9.3
func (m *GettyRPCRequestHeader) Unmarshal(dAtA []byte) error
func (*GettyRPCRequestHeader) VerboseEqual ¶ added in v0.9.3
func (this *GettyRPCRequestHeader) VerboseEqual(that interface{}) error
type GettyRPCRequestPackage ¶
type GettyRPCRequestPackage struct { H GettyPackageHeader // contains filtered or unexported fields }
type GettyRPCResponse ¶
type GettyRPCResponse struct {
// contains filtered or unexported fields
}
func (*GettyRPCResponse) GetBody ¶
func (resp *GettyRPCResponse) GetBody() []byte
func (*GettyRPCResponse) GetHeader ¶
func (resp *GettyRPCResponse) GetHeader() interface{}
type GettyRPCResponseHeader ¶
type GettyRPCResponseHeader struct {
Error string `protobuf:"bytes,1,opt,name=Error" json:"Error"`
}
func (*GettyRPCResponseHeader) Descriptor ¶ added in v0.9.3
func (*GettyRPCResponseHeader) Descriptor() ([]byte, []int)
func (*GettyRPCResponseHeader) Equal ¶ added in v0.9.3
func (this *GettyRPCResponseHeader) Equal(that interface{}) bool
func (*GettyRPCResponseHeader) GoString ¶ added in v0.9.3
func (this *GettyRPCResponseHeader) GoString() string
func (*GettyRPCResponseHeader) Marshal ¶ added in v0.9.3
func (m *GettyRPCResponseHeader) Marshal() (dAtA []byte, err error)
func (*GettyRPCResponseHeader) MarshalTo ¶ added in v0.9.3
func (m *GettyRPCResponseHeader) MarshalTo(dAtA []byte) (int, error)
func (*GettyRPCResponseHeader) ProtoMessage ¶ added in v0.9.3
func (*GettyRPCResponseHeader) ProtoMessage()
func (*GettyRPCResponseHeader) Reset ¶ added in v0.9.3
func (m *GettyRPCResponseHeader) Reset()
func (*GettyRPCResponseHeader) Size ¶ added in v0.9.3
func (m *GettyRPCResponseHeader) Size() (n int)
func (*GettyRPCResponseHeader) String ¶ added in v0.9.3
func (this *GettyRPCResponseHeader) String() string
func (*GettyRPCResponseHeader) Unmarshal ¶ added in v0.9.3
func (m *GettyRPCResponseHeader) Unmarshal(dAtA []byte) error
func (*GettyRPCResponseHeader) VerboseEqual ¶ added in v0.9.3
func (this *GettyRPCResponseHeader) VerboseEqual(that interface{}) error
type GettyRPCResponsePackage ¶
type GettyRPCResponsePackage struct { H GettyPackageHeader // contains filtered or unexported fields }
type GettyRPCService ¶ added in v0.9.3
type GettySessionParam ¶
type GettySessionParam struct { CompressEncoding bool `default:"false" yaml:"compress_encoding" json:"compress_encoding,omitempty"` TcpNoDelay bool `default:"true" yaml:"tcp_no_delay" json:"tcp_no_delay,omitempty"` TcpKeepAlive bool `default:"true" yaml:"tcp_keep_alive" json:"tcp_keep_alive,omitempty"` KeepAlivePeriod string `default:"180s" yaml:"keep_alive_period" json:"keep_alive_period,omitempty"` TcpRBufSize int `default:"262144" yaml:"tcp_r_buf_size" json:"tcp_r_buf_size,omitempty"` TcpWBufSize int `default:"65536" yaml:"tcp_w_buf_size" json:"tcp_w_buf_size,omitempty"` PkgRQSize int `default:"1024" yaml:"pkg_rq_size" json:"pkg_rq_size,omitempty"` PkgWQSize int `default:"1024" yaml:"pkg_wq_size" json:"pkg_wq_size,omitempty"` TcpReadTimeout string `default:"1s" yaml:"tcp_read_timeout" json:"tcp_read_timeout,omitempty"` TcpWriteTimeout string `default:"5s" yaml:"tcp_write_timeout" json:"tcp_write_timeout,omitempty"` WaitTimeout string `default:"7s" yaml:"wait_timeout" json:"wait_timeout,omitempty"` MaxMsgLen int `default:"1024" yaml:"max_msg_len" json:"max_msg_len,omitempty"` SessionName string `default:"rpc" yaml:"session_name" json:"session_name,omitempty"` // contains filtered or unexported fields }
func (*GettySessionParam) CheckValidity ¶ added in v0.9.3
func (c *GettySessionParam) CheckValidity() error
type PBCodec ¶
type PBCodec struct{}
type PendingResponse ¶
type PendingResponse struct {
// contains filtered or unexported fields
}
func NewPendingResponse ¶
func NewPendingResponse() *PendingResponse
func (PendingResponse) GetCallResponse ¶ added in v1.0.3
func (r PendingResponse) GetCallResponse() CallResponse
type PkgLenType ¶ added in v0.9.3
type PkgLenType int32
type RPCPackage ¶
type RPCPackage interface { Marshal(CodecType, *bytes.Buffer) (int, error) // @buf length should be equal to GettyPkg.GettyPackageHeader.Len Unmarshal(sz CodecType, buf *bytes.Buffer) error GetBody() []byte GetHeader() interface{} }
func NewGettyRPCRequest ¶
func NewGettyRPCRequest() RPCPackage
func NewGettyRPCResponse ¶
func NewGettyRPCResponse() RPCPackage
type RpcClientHandler ¶
type RpcClientHandler struct {
// contains filtered or unexported fields
}
func NewRpcClientHandler ¶
func NewRpcClientHandler(client *gettyRPCClient) *RpcClientHandler
func (*RpcClientHandler) OnClose ¶
func (h *RpcClientHandler) OnClose(session getty.Session)
func (*RpcClientHandler) OnCron ¶
func (h *RpcClientHandler) OnCron(session getty.Session)
func (*RpcClientHandler) OnError ¶
func (h *RpcClientHandler) OnError(session getty.Session, err error)
func (*RpcClientHandler) OnMessage ¶
func (h *RpcClientHandler) OnMessage(session getty.Session, pkg interface{})
type RpcClientPackageHandler ¶
type RpcClientPackageHandler struct { }
func NewRpcClientPackageHandler ¶
func NewRpcClientPackageHandler() *RpcClientPackageHandler
type RpcServerHandler ¶
type RpcServerHandler struct {
// contains filtered or unexported fields
}
func NewRpcServerHandler ¶
func NewRpcServerHandler(maxSessionNum int, sessionTimeout time.Duration) *RpcServerHandler
func (*RpcServerHandler) OnClose ¶
func (h *RpcServerHandler) OnClose(session getty.Session)
func (*RpcServerHandler) OnCron ¶
func (h *RpcServerHandler) OnCron(session getty.Session)
func (*RpcServerHandler) OnError ¶
func (h *RpcServerHandler) OnError(session getty.Session, err error)
func (*RpcServerHandler) OnMessage ¶
func (h *RpcServerHandler) OnMessage(session getty.Session, pkg interface{})
type RpcServerPackageHandler ¶
type RpcServerPackageHandler struct {
// contains filtered or unexported fields
}
func NewRpcServerPackageHandler ¶
func NewRpcServerPackageHandler(server *Server) *RpcServerPackageHandler
type SequenceType ¶ added in v0.9.3
type SequenceType uint64
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(conf *ServerConfig) (*Server, error)
func (*Server) Register ¶
func (s *Server) Register(rcvr GettyRPCService) error
type ServerConfig ¶
type ServerConfig struct { // local address AppName string `default:"rpc-server" yaml:"app_name" json:"app_name,omitempty"` Host string `default:"127.0.0.1" yaml:"host" json:"host,omitempty"` Ports []string `yaml:"ports" json:"ports,omitempty"` // `default:["10000"]` ProfilePort int `default:"10086" yaml:"profile_port" json:"profile_port,omitempty"` // session SessionTimeout string `default:"60s" yaml:"session_timeout" json:"session_timeout,omitempty"` SessionNumber int `default:"1000" yaml:"session_number" json:"session_number,omitempty"` // app FailFastTimeout string `default:"5s" yaml:"fail_fast_timeout" json:"fail_fast_timeout,omitempty"` // session tcp parameters GettySessionParam GettySessionParam `required:"true" yaml:"getty_session_param" json:"getty_session_param,omitempty"` // contains filtered or unexported fields }
Config holds supported types by the multiconfig package
func (*ServerConfig) CheckValidity ¶ added in v0.9.3
func (c *ServerConfig) CheckValidity() error
type ServiceIDType ¶ added in v0.9.3
type ServiceIDType int16
Click to show internal directories.
Click to hide internal directories.