Documentation
¶
Index ¶
- Constants
- Variables
- func DecodeBoolValue(buf *bytes.Buffer) (v bool, err error)
- func DecodeByteBufferValue(buf *bytes.Buffer, dst *bytes.Buffer) (err error)
- func DecodeBytesValue(buf *bytes.Buffer) (b []byte, err error)
- func DecodeInt32Value(buf *bytes.Buffer) (int32, error)
- func DecodeInt64Value(buf *bytes.Buffer) (int64, error)
- func DecodeStringValue(buf *bytes.Buffer) (str string, err error)
- func DecodeUInt16Value(buf *bytes.Buffer) (uint16, error)
- func DecodeUInt32Value(buf *bytes.Buffer) (uint32, error)
- func DecodeUInt64Value(buf *bytes.Buffer) (uint64, error)
- func DecodeValue(buf *bytes.Buffer) (err error, ev interface{})
- func EncodeBoolValue(buf *bytes.Buffer, v bool)
- func EncodeByteBufferValue(buf *bytes.Buffer, v *bytes.Buffer)
- func EncodeBytesValue(buf *bytes.Buffer, v []byte)
- func EncodeInt64Value(buf *bytes.Buffer, v int64)
- func EncodeStringValue(buf *bytes.Buffer, v string)
- func EncodeUInt32Value(buf *bytes.Buffer, v uint32)
- func EncodeUInt64Value(buf *bytes.Buffer, v uint64)
- func EncodeValue(buf *bytes.Buffer, ev interface{}) error
- func EncryptEvent(buf *bytes.Buffer, ev Event, ctx *CryptoContext) error
- func GetDefaultCryptoMethod() uint8
- func GetRegistType(obj interface{}) uint16
- func NewObjectInstance(eventType uint16) (err error, ev interface{})
- func RegistObject(eventType uint16, ev interface{})
- func SetDefaultSecretKey(method string, key string)
- type AuthEvent
- type ChannelCloseACKEvent
- type ChannelCloseReqEvent
- type ConnCloseEvent
- type ConnTestEvent
- type CryptoContext
- type Event
- type EventFlags
- type EventHeader
- type EventQueue
- func (q *EventQueue) Close()
- func (q *EventQueue) DiscardPeeks(protect bool)
- func (q *EventQueue) Peek(timeout time.Duration, protect bool) (Event, error)
- func (q *EventQueue) PeekMulti(n int, timeout time.Duration, protect bool) ([]Event, error)
- func (q *EventQueue) Publish(ev Event, timeout time.Duration) error
- func (q *EventQueue) Read(timeout time.Duration) (Event, error)
- func (q *EventQueue) ReadPeek(protect bool) Event
- type HTTPBody
- type HTTPMessageEvent
- type HTTPRequestEvent
- type HTTPResponseEvent
- type HeartBeatEvent
- type NotifyEvent
- type PortUnicastEvent
- type TCPChunkEvent
- type TCPOpenEvent
- type UDPEvent
Constants ¶
View Source
const ( ErrTooLargeResponse = 1001 ErrInvalidHttpRequest = 1002 ErrRemoteProxyTimeout = 1003 ErrAuthFailed = 1004 SuccessAuthed = 10000 )
View Source
const ( EventHttpReq = 10000 EventHttpRes = 10001 EventTCPOpen = 10002 EventConnClose = 10003 EventTCPChunk = 10004 EventAuth = 10005 EventNotify = 10006 EventUDP = 10008 EventHeartBeat = 10009 EventChannelCloseReq = 10010 EventChannelCloseACK = 10011 EventPortUnicast = 10012 EventConnTest = 10013 NoneCompressor = 0 SnappyCompressor = 1 NoneEncrypter = 0 RC4Encrypter = 1 Salsa20Encrypter = 2 AES256Encrypter = 3 Chacha20Encrypter = 4 BlowfishEncrypter = 5 )
Variables ¶
View Source
var EBNR = errors.New("Event buffer not ready")
View Source
var ErrToolargeEvent = errors.New("Event too large content")
View Source
var EventReadTimeout = errors.New("EventQueue read timeout")
View Source
var EventWriteTimeout = errors.New("EventQueue write timeout")
Functions ¶
func DecodeByteBufferValue ¶
func DecodeValue ¶
func EncodeBoolValue ¶
func EncodeBytesValue ¶
func EncodeInt64Value ¶
func EncodeStringValue ¶
func EncodeUInt32Value ¶
func EncodeUInt64Value ¶
func EncodeValue ¶
func EncryptEvent ¶
func EncryptEvent(buf *bytes.Buffer, ev Event, ctx *CryptoContext) error
func GetDefaultCryptoMethod ¶ added in v0.24.0
func GetDefaultCryptoMethod() uint8
func GetRegistType ¶
func GetRegistType(obj interface{}) uint16
func NewObjectInstance ¶
func RegistObject ¶
func RegistObject(eventType uint16, ev interface{})
func SetDefaultSecretKey ¶
Types ¶
type AuthEvent ¶
type ChannelCloseACKEvent ¶ added in v0.24.0
type ChannelCloseACKEvent struct {
EventHeader
}
func (*ChannelCloseACKEvent) Decode ¶ added in v0.24.0
func (ev *ChannelCloseACKEvent) Decode(buffer *bytes.Buffer) (err error)
func (*ChannelCloseACKEvent) Encode ¶ added in v0.24.0
func (ev *ChannelCloseACKEvent) Encode(buffer *bytes.Buffer)
type ChannelCloseReqEvent ¶ added in v0.24.0
type ChannelCloseReqEvent struct {
EventHeader
}
func (*ChannelCloseReqEvent) Decode ¶ added in v0.24.0
func (ev *ChannelCloseReqEvent) Decode(buffer *bytes.Buffer) (err error)
func (*ChannelCloseReqEvent) Encode ¶ added in v0.24.0
func (ev *ChannelCloseReqEvent) Encode(buffer *bytes.Buffer)
type ConnCloseEvent ¶ added in v0.25.1
type ConnCloseEvent struct {
EventHeader
}
func (*ConnCloseEvent) Decode ¶ added in v0.25.1
func (ev *ConnCloseEvent) Decode(buffer *bytes.Buffer) (err error)
func (*ConnCloseEvent) Encode ¶ added in v0.25.1
func (ev *ConnCloseEvent) Encode(buffer *bytes.Buffer)
type ConnTestEvent ¶ added in v0.26.0
type ConnTestEvent struct {
EventHeader
}
func (*ConnTestEvent) Decode ¶ added in v0.26.0
func (ev *ConnTestEvent) Decode(buffer *bytes.Buffer) (err error)
func (*ConnTestEvent) Encode ¶ added in v0.26.0
func (ev *ConnTestEvent) Encode(buffer *bytes.Buffer)
type CryptoContext ¶ added in v0.24.0
type Event ¶
type Event interface { Encode(buffer *bytes.Buffer) Decode(buffer *bytes.Buffer) error GetId() uint32 SetId(id uint32) }
func DecryptEvent ¶
func DecryptEvent(buf *bytes.Buffer, ctx *CryptoContext) (err error, ev Event)
func NewEventInstance ¶
type EventFlags ¶
type EventFlags uint64
func (*EventFlags) EnableEncrypt ¶
func (f *EventFlags) EnableEncrypt(v int)
func (*EventFlags) EnableSnappy ¶
func (f *EventFlags) EnableSnappy()
func (EventFlags) GetEncrytFlag ¶
func (f EventFlags) GetEncrytFlag() int
func (EventFlags) IsSnappyEnable ¶
func (f EventFlags) IsSnappyEnable() bool
type EventHeader ¶
type EventHeader struct { Type uint16 Id uint32 Flags EventFlags }
func (*EventHeader) Encode ¶
func (header *EventHeader) Encode(buffer *bytes.Buffer)
func (*EventHeader) GetFlags ¶
func (h *EventHeader) GetFlags() EventFlags
func (*EventHeader) GetId ¶
func (h *EventHeader) GetId() uint32
func (*EventHeader) GetType ¶
func (h *EventHeader) GetType() uint16
func (*EventHeader) SetId ¶
func (h *EventHeader) SetId(hash uint32)
type EventQueue ¶
type EventQueue struct {
// contains filtered or unexported fields
}
func NewEventQueue ¶
func NewEventQueue() *EventQueue
func (*EventQueue) Close ¶
func (q *EventQueue) Close()
func (*EventQueue) DiscardPeeks ¶
func (q *EventQueue) DiscardPeeks(protect bool)
func (*EventQueue) ReadPeek ¶
func (q *EventQueue) ReadPeek(protect bool) Event
type HTTPBody ¶
type HTTPBody struct {
// contains filtered or unexported fields
}
func NewHTTPBody ¶
type HTTPMessageEvent ¶
type HTTPMessageEvent struct { EventHeader Headers http.Header Content []byte }
func (*HTTPMessageEvent) DoDecode ¶
func (msg *HTTPMessageEvent) DoDecode(buffer *bytes.Buffer) error
func (*HTTPMessageEvent) DoEncode ¶
func (msg *HTTPMessageEvent) DoEncode(buffer *bytes.Buffer)
func (*HTTPMessageEvent) GetContentLength ¶
func (msg *HTTPMessageEvent) GetContentLength() int
func (*HTTPMessageEvent) IsContentFull ¶
func (msg *HTTPMessageEvent) IsContentFull() bool
func (*HTTPMessageEvent) IsKeepAlive ¶
func (msg *HTTPMessageEvent) IsKeepAlive() bool
type HTTPRequestEvent ¶
type HTTPRequestEvent struct { HTTPMessageEvent Method string URL string }
func NewHTTPRequestEvent ¶
func NewHTTPRequestEvent(req *http.Request) *HTTPRequestEvent
func (*HTTPRequestEvent) Decode ¶
func (req *HTTPRequestEvent) Decode(buffer *bytes.Buffer) (err error)
func (*HTTPRequestEvent) Encode ¶
func (req *HTTPRequestEvent) Encode(buffer *bytes.Buffer)
func (*HTTPRequestEvent) GetHost ¶
func (req *HTTPRequestEvent) GetHost() string
func (*HTTPRequestEvent) HTTPEncode ¶
func (req *HTTPRequestEvent) HTTPEncode() []byte
type HTTPResponseEvent ¶
type HTTPResponseEvent struct { HTTPMessageEvent StatusCode uint32 }
func NewHTTPResponseEvent ¶
func NewHTTPResponseEvent(res *http.Response) *HTTPResponseEvent
func (*HTTPResponseEvent) Decode ¶
func (res *HTTPResponseEvent) Decode(buffer *bytes.Buffer) (err error)
func (*HTTPResponseEvent) Encode ¶
func (res *HTTPResponseEvent) Encode(buffer *bytes.Buffer)
func (*HTTPResponseEvent) ToResponse ¶
func (res *HTTPResponseEvent) ToResponse(body bool) *http.Response
type HeartBeatEvent ¶
type HeartBeatEvent struct { EventHeader Rand []byte }
func NewHeartBeatEvent ¶ added in v0.24.0
func NewHeartBeatEvent() *HeartBeatEvent
func (*HeartBeatEvent) Encode ¶
func (ev *HeartBeatEvent) Encode(buffer *bytes.Buffer)
type NotifyEvent ¶
type NotifyEvent struct { EventHeader Code int64 Reason string }
func (*NotifyEvent) Encode ¶
func (ev *NotifyEvent) Encode(buffer *bytes.Buffer)
type PortUnicastEvent ¶ added in v0.24.0
type PortUnicastEvent struct { EventHeader Port uint32 }
func (*PortUnicastEvent) Decode ¶ added in v0.24.0
func (ev *PortUnicastEvent) Decode(buffer *bytes.Buffer) (err error)
func (*PortUnicastEvent) Encode ¶ added in v0.24.0
func (ev *PortUnicastEvent) Encode(buffer *bytes.Buffer)
type TCPChunkEvent ¶
type TCPChunkEvent struct { EventHeader Content []byte }
func (*TCPChunkEvent) Encode ¶
func (ev *TCPChunkEvent) Encode(buffer *bytes.Buffer)
type TCPOpenEvent ¶
type TCPOpenEvent struct { EventHeader Addr string }
func (*TCPOpenEvent) Encode ¶
func (ev *TCPOpenEvent) Encode(buffer *bytes.Buffer)
Click to show internal directories.
Click to hide internal directories.