event

package
v0.26.3 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2016 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

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 DecodeBoolValue

func DecodeBoolValue(buf *bytes.Buffer) (v bool, err error)

func DecodeByteBufferValue

func DecodeByteBufferValue(buf *bytes.Buffer, dst *bytes.Buffer) (err error)

func DecodeBytesValue

func DecodeBytesValue(buf *bytes.Buffer) (b []byte, err error)

func DecodeInt32Value

func DecodeInt32Value(buf *bytes.Buffer) (int32, error)

func DecodeInt64Value

func DecodeInt64Value(buf *bytes.Buffer) (int64, error)

func DecodeStringValue

func DecodeStringValue(buf *bytes.Buffer) (str string, err error)

func DecodeUInt16Value

func DecodeUInt16Value(buf *bytes.Buffer) (uint16, error)

func DecodeUInt32Value

func DecodeUInt32Value(buf *bytes.Buffer) (uint32, error)

func DecodeUInt64Value

func DecodeUInt64Value(buf *bytes.Buffer) (uint64, error)

func DecodeValue

func DecodeValue(buf *bytes.Buffer) (err error, ev interface{})

func EncodeBoolValue

func EncodeBoolValue(buf *bytes.Buffer, v bool)

func EncodeByteBufferValue

func EncodeByteBufferValue(buf *bytes.Buffer, v *bytes.Buffer)

func EncodeBytesValue

func EncodeBytesValue(buf *bytes.Buffer, v []byte)

func EncodeInt64Value

func EncodeInt64Value(buf *bytes.Buffer, v int64)

func EncodeStringValue

func EncodeStringValue(buf *bytes.Buffer, v string)

func EncodeUInt32Value

func EncodeUInt32Value(buf *bytes.Buffer, v uint32)

func EncodeUInt64Value

func EncodeUInt64Value(buf *bytes.Buffer, v uint64)

func EncodeValue

func EncodeValue(buf *bytes.Buffer, ev interface{}) error

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 NewObjectInstance(eventType uint16) (err error, ev interface{})

func RegistObject

func RegistObject(eventType uint16, ev interface{})

func SetDefaultSecretKey

func SetDefaultSecretKey(method string, key string)

Types

type AuthEvent

type AuthEvent struct {
	EventHeader
	User string
	//Mac           string
	RunId         int64
	Index         int64
	IV            uint64
	EncryptMethod uint8
	Rand          []byte
}

func (*AuthEvent) Decode

func (ev *AuthEvent) Decode(buffer *bytes.Buffer) (err error)

func (*AuthEvent) Encode

func (ev *AuthEvent) Encode(buffer *bytes.Buffer)

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 CryptoContext struct {
	Method    uint8
	DecryptIV uint64
	EncryptIV uint64
}

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

func NewEventInstance(eventType uint16) (err error, ev Event)

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) Decode

func (header *EventHeader) Decode(buffer *bytes.Buffer) error

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) Peek

func (q *EventQueue) Peek(timeout time.Duration, protect bool) (Event, error)

func (*EventQueue) PeekMulti

func (q *EventQueue) PeekMulti(n int, timeout time.Duration, protect bool) ([]Event, error)

func (*EventQueue) Publish

func (q *EventQueue) Publish(ev Event, timeout time.Duration) error

func (*EventQueue) Read

func (q *EventQueue) Read(timeout time.Duration) (Event, error)

func (*EventQueue) ReadPeek

func (q *EventQueue) ReadPeek(protect bool) Event

type HTTPBody

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

func NewHTTPBody

func NewHTTPBody(length int, body []byte) *HTTPBody

func (*HTTPBody) Add

func (b *HTTPBody) Add(content []byte)

func (*HTTPBody) Close

func (b *HTTPBody) Close() error

func (*HTTPBody) Read

func (b *HTTPBody) Read(p []byte) (n int, err error)

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

func (*HTTPRequestEvent) ToRequest

func (req *HTTPRequestEvent) ToRequest(schema string) (*http.Request, error)

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

func (*HTTPResponseEvent) Write

func (res *HTTPResponseEvent) Write(w io.Writer) (int, error)

type HeartBeatEvent

type HeartBeatEvent struct {
	EventHeader
	Rand []byte
}

func NewHeartBeatEvent added in v0.24.0

func NewHeartBeatEvent() *HeartBeatEvent

func (*HeartBeatEvent) Decode

func (ev *HeartBeatEvent) Decode(buffer *bytes.Buffer) (err error)

func (*HeartBeatEvent) Encode

func (ev *HeartBeatEvent) Encode(buffer *bytes.Buffer)

type NotifyEvent

type NotifyEvent struct {
	EventHeader
	Code   int64
	Reason string
}

func (*NotifyEvent) Decode

func (ev *NotifyEvent) Decode(buffer *bytes.Buffer) (err error)

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) Decode

func (ev *TCPChunkEvent) Decode(buffer *bytes.Buffer) (err error)

func (*TCPChunkEvent) Encode

func (ev *TCPChunkEvent) Encode(buffer *bytes.Buffer)

type TCPOpenEvent

type TCPOpenEvent struct {
	EventHeader
	Addr string
}

func (*TCPOpenEvent) Decode

func (ev *TCPOpenEvent) Decode(buffer *bytes.Buffer) (err error)

func (*TCPOpenEvent) Encode

func (ev *TCPOpenEvent) Encode(buffer *bytes.Buffer)

type UDPEvent

type UDPEvent struct {
	EventHeader
	Addr    string
	Content []byte
}

func (*UDPEvent) Decode

func (ev *UDPEvent) Decode(buffer *bytes.Buffer) (err error)

func (*UDPEvent) Encode

func (ev *UDPEvent) Encode(buffer *bytes.Buffer)

Jump to

Keyboard shortcuts

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