Documentation
¶
Index ¶
- Variables
- func PrintProfile() string
- func Read(reader io.Reader) ([]byte, error)
- func ReadBool(reader Reader) (bool, error)
- func ReadByte(reader Reader) (byte, error)
- func ReadBytes(reader Reader, val []byte) error
- func ReadFloat32(reader Reader) (float32, error)
- func ReadFloat64(reader Reader) (float64, error)
- func ReadInt16(reader Reader) (int16, error)
- func ReadInt32(reader Reader) (int32, error)
- func ReadInt64(reader Reader) (int64, error)
- func ReadSByte(reader Reader) (int8, error)
- func ReadString(reader Reader) (string, error)
- func ReadUInt16(reader Reader) (uint16, error)
- func ReadUInt32(reader Reader) (uint32, error)
- func ReadUInt64(reader Reader) (uint64, error)
- func RegistryLoad(r io.Reader, name string)
- func RegistryUpdate(items map[string]uint16)
- func ServiceID(name string) uint16
- func ServiceName(id uint16) string
- func SkipRead(reader Reader, tag Tag) error
- func TCPListen(acceptor *Acceptor, laddr string) error
- func Write(writer io.Writer, buff []byte) (int, error)
- func WriteBool(writer Writer, v bool) error
- func WriteByte(writer Writer, v byte) error
- func WriteBytes(writer Writer, bytes []byte) error
- func WriteFloat32(writer Writer, n float32) error
- func WriteFloat64(writer Writer, n float64) error
- func WriteInt16(writer Writer, v int16) error
- func WriteInt32(writer Writer, v int32) error
- func WriteInt64(writer Writer, v int64) error
- func WriteSByte(writer Writer, v int8) error
- func WriteString(writer Writer, v string) error
- func WriteUInt16(writer Writer, v uint16) error
- func WriteUInt32(writer Writer, v uint32) error
- func WriteUInt64(writer Writer, v uint64) error
- type Acceptor
- type CallSite
- type Channel
- type Client
- type ClientBuilder
- type ClosableChannel
- type ConnectF
- type Context
- type Dispatcher
- type Future
- type Handler
- type HandlerF
- type MessageChannel
- type Pipeline
- type PipelineBuilder
- func (builder *PipelineBuilder) Build(name string) (Pipeline, error)
- func (builder *PipelineBuilder) CachedSize(cachedsize int) *PipelineBuilder
- func (builder *PipelineBuilder) Handler(name string, handlerF HandlerF) *PipelineBuilder
- func (builder *PipelineBuilder) Timeout(duration time.Duration) *PipelineBuilder
- type Profile
- type Promise
- type Reader
- type Registry
- type Send
- type SharedHandler
- type Sink
- type Stream
- type Wait
- type Writer
Constants ¶
This section is empty.
Variables ¶
var ( ErrRPC = errors.New("rpc error") ErrOverflow = errors.New("overflow of router queue") ErrTimeout = errors.New("rpc timeout") ErrCanceled = errors.New("rpc canceled") ErrClosed = errors.New("pipeline closed") ErrSkip = errors.New("skip handle pipeline event") ErrUnknown = errors.New("unknown error") )
...
var ( ErrDecode = errors.New("decode error") ErrWriteNone = errors.New("write nothing") ErrEncode = errors.New("encoding error") )
gsbuff public errors
var (
ErrRegistry = errors.New("load registry file error")
)
Errors
var (
ErrRegistryNotFound = errors.New("search found nothing")
)
Errors
Functions ¶
func ReadFloat32 ¶
ReadFloat32 read float32 from Reader interface
func ReadFloat64 ¶
ReadFloat64 read float64 from Reader interface
func ReadUInt16 ¶
ReadUInt16 read uint16 from Reader interface
func ReadUInt32 ¶
ReadUInt32 read uint32 from Reader interface
func ReadUInt64 ¶
ReadUInt64 read uint16 from Reader interface
func RegistryLoad ¶
RegistryLoad load registry table from io.Reader
func RegistryUpdate ¶
RegistryUpdate update default registry
func WriteBytes ¶
WriteBytes write string into stream
func WriteFloat32 ¶
WriteFloat32 write a little-endian int64 into a writer stream
func WriteFloat64 ¶
WriteFloat64 write a little-endian int64 into a writer stream
func WriteInt16 ¶
WriteInt16 write a little-endian int16 into a writer stream
func WriteInt32 ¶
WriteInt32 write a little-endian int32 into a writer stream
func WriteInt64 ¶
WriteInt64 write a little-endian int64 into a writer stream
func WriteString ¶
WriteString write string into stream
func WriteUInt16 ¶
WriteUInt16 write a little-endian uint16 into a writer stream
func WriteUInt32 ¶
WriteUInt32 write a little-endian uint32 into a writer stream
func WriteUInt64 ¶
WriteUInt64 write a little-endian uint64 into a writer stream
Types ¶
type Acceptor ¶
Acceptor the gorpc server channel acceptor
func NewAcceptor ¶
func NewAcceptor(name string, builder *PipelineBuilder) *Acceptor
NewAcceptor create new server channel acceptor
type Client ¶
type Client interface { Close() Pipeline() Pipeline }
Client gorpc client
func TCPConnect ¶
func TCPConnect(builder *ClientBuilder, name, raddr string) (Client, error)
TCPConnect create a new tcp client
func WebSocketConnect ¶
WebSocketConnect establish a websocket client channel
type ClientBuilder ¶
type ClientBuilder struct { gslogger.Log // Mixin Log APIs // contains filtered or unexported fields }
ClientBuilder .
func NewClientBuilder ¶
func NewClientBuilder(name string, builder *PipelineBuilder) *ClientBuilder
NewClientBuilder create new client builder
func (*ClientBuilder) Build ¶
func (builder *ClientBuilder) Build(name string, F ConnectF) (Client, error)
Build create new client
func (*ClientBuilder) Reconnect ¶
func (builder *ClientBuilder) Reconnect(timeout time.Duration) *ClientBuilder
Reconnect .
type Context ¶
type Context interface { // current handler name Name() string // Pipeline current channel pipeline Pipeline() Pipeline // OnActive FireActive() // Send create new send pipeline message Send(message *Message) // Close close current pipeline Close() }
Context channel handler context
type Dispatcher ¶
type Dispatcher interface { Dispatch(call *Request) (callReturn *Response, err error) ID() uint16 String() string }
Dispatcher .
type Handler ¶
type Handler interface { // Register when handler had been add into one pipeline, // system call this function notify handler Register(context Context) error // Unregister sysm call this function when handler had been removed from // pipeline,you can get this pipeline object by Context#Pipeline function Unregister(context Context) // Active system call this function when pipline state trans to active Active(context Context) error // Inactive system call this function when pipeline state trans to inactive Inactive(context Context) // MessageReceived MessageReceived(context Context, message *Message) (*Message, error) // MessageSending MessageSending(context Context, message *Message) (*Message, error) // Panic handle async pipline method error Panic(context Context, err error) }
Handler the gorpc channel pipeline handlers
type MessageChannel ¶
type MessageChannel interface {
SendMessage(message *Message) error
}
MessageChannel .
type Pipeline ¶
type Pipeline interface { String() string // Name pipeline name Name() string // Close close pipeline Close() // Active trans pipeline state to active state Active() error // Inactive trans pipeline state to inactive state Inactive() // Received . Received(message *Message) error // TimeWheel invoke handle after timeout TimeWheel() *timer.Wheel // After invoke handle after timeout After(timeout time.Duration, f func()) *timer.Timer // Channel implement channel interface Channel // SendMessage . SendMessage(message *Message) error // AddService add new service AddService(dispatcher Dispatcher) // RemoveService remove service RemoveService(dispatcher Dispatcher) // Get Handler by name Handler(name string) (Handler, bool) // Get Sending message Sending() (*Message, error) }
Pipeline Channel handlers pipeline
type PipelineBuilder ¶
type PipelineBuilder struct {
// contains filtered or unexported fields
}
PipelineBuilder pipeline builder
func BuildPipeline ¶
func BuildPipeline(timerTick time.Duration) *PipelineBuilder
BuildPipeline creaet new pipeline builder
func (*PipelineBuilder) Build ¶
func (builder *PipelineBuilder) Build(name string) (Pipeline, error)
Build create new Pipeline
func (*PipelineBuilder) CachedSize ¶
func (builder *PipelineBuilder) CachedSize(cachedsize int) *PipelineBuilder
CachedSize .
func (*PipelineBuilder) Handler ¶
func (builder *PipelineBuilder) Handler(name string, handlerF HandlerF) *PipelineBuilder
Handler append new handler builder
func (*PipelineBuilder) Timeout ¶
func (builder *PipelineBuilder) Timeout(duration time.Duration) *PipelineBuilder
Timeout set rpc timeout
type Profile ¶
type Profile struct { Timestamp time.Time // profile timestamp Pipelines int32 // register pipelines Actives int32 // actived pipelines Received uint64 // received messages Send uint64 // send messages Errors uint64 // panic times }
Profile .
type Promise ¶
type Promise interface { Wait() (callReturn *Response, err error) Notify(callReturn *Response, err error) Timeout() Cancel() }
Promise .
type Reader ¶
type Reader interface { io.ByteReader io.Reader }
Reader the gsbuff Reader interface, Mixin io.ByteReader and io.Reader interfaces
type Registry ¶
type Registry interface { // Update update the registry Update(items map[string]uint16) // ServiceName get service name by service id ServiceName(id uint16) string // ServiceID get service id by service name ServiceID(name string) uint16 // Load load registry from io.Reader Load(r io.Reader, name string) }
Registry the service registry
type SharedHandler ¶
type SharedHandler interface {HandlerLock() HandlerUnlock() }
SharedHandler this handler will been shared with more than one piplines
type Sink ¶
type Sink interface { Channel AddService(dispatcher Dispatcher) RemoveService(dispatcher Dispatcher) ClearServices() MessageReceived(message *Message) error }
Sink .
type Stream ¶
type Stream struct {
// contains filtered or unexported fields
}
Stream the read/write stream