pkg

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrIllegalParseMessage = errors.New("illegal parse message")
)

Functions

func CreateSyncRounting

func CreateSyncRounting(data *SyncRountingNames) ([]byte, error)

func PackEHeader

func PackEHeader(data *ExternalHeader) ([]byte, error)

func PackPacket

func PackPacket(opCode OpCode, trackEnabled TrackEnabled, data *ExternalHeader, bufferEPayload []byte) ([]byte, error)

PackPacket 根据EPHeader, 使用protobuf格式组装业务数据

Types

type EHPLength

type EHPLength uint16

type EHeader

type EHeader struct {
	// User defined
	Status uint32 `protobuf:"varint,1,opt,name=Status,proto3" json:"Status,omitempty"`
	// String format: User defined (ASCII String).
	PacketID string `protobuf:"bytes,2,opt,name=PacketID,proto3" json:"PacketID,omitempty"`
	// String format: UUID (ASCII String).
	TrackID string `protobuf:"bytes,3,opt,name=TrackID,proto3" json:"TrackID,omitempty"`
	// Payload Protobuf Length.
	PayloadLength uint32 `protobuf:"varint,4,opt,name=PayloadLength,proto3" json:"PayloadLength,omitempty"`
	// Route compression.
	Routing string `protobuf:"bytes,5,opt,name=Routing,proto3" json:"Routing,omitempty"`
	// Client Version.
	Version string `protobuf:"bytes,6,opt,name=Version,proto3" json:"Version,omitempty"`
	// Parameters
	Parameters string `protobuf:"bytes,7,opt,name=Parameters,proto3" json:"Parameters,omitempty"`
	// QueryStrings
	QueryStrings         string   `protobuf:"bytes,8,opt,name=QueryStrings,proto3" json:"QueryStrings,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*EHeader) Descriptor

func (*EHeader) Descriptor() ([]byte, []int)

func (*EHeader) GetPacketID

func (m *EHeader) GetPacketID() string

func (*EHeader) GetParameters

func (m *EHeader) GetParameters() string

func (*EHeader) GetPayloadLength

func (m *EHeader) GetPayloadLength() uint32

func (*EHeader) GetQueryStrings

func (m *EHeader) GetQueryStrings() string

func (*EHeader) GetRouting

func (m *EHeader) GetRouting() string

func (*EHeader) GetStatus

func (m *EHeader) GetStatus() uint32

func (*EHeader) GetTrackID

func (m *EHeader) GetTrackID() string

func (*EHeader) GetVersion

func (m *EHeader) GetVersion() string

func (*EHeader) ProtoMessage

func (*EHeader) ProtoMessage()

func (*EHeader) Reset

func (m *EHeader) Reset()

func (*EHeader) String

func (m *EHeader) String() string

func (*EHeader) XXX_DiscardUnknown

func (m *EHeader) XXX_DiscardUnknown()

func (*EHeader) XXX_Marshal

func (m *EHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EHeader) XXX_Merge

func (m *EHeader) XXX_Merge(src proto.Message)

func (*EHeader) XXX_Size

func (m *EHeader) XXX_Size() int

func (*EHeader) XXX_Unmarshal

func (m *EHeader) XXX_Unmarshal(b []byte) error

type ExternalHeader

type ExternalHeader struct {
	Status        uint32
	PacketID      string
	TrackID       string
	PayloadLength uint32
	Routing       string
	Version       string
}

type IPacket

type IPacket interface {
	Init(data []byte)
	ReadOpCode() uint8
	ReadTrackEnabled() ([]byte, error)
	ReadEHeaderLength() ([]byte, error)
	ReadEHeaderBuffer() ([]byte, error)
	ReadEPayloadBuffer() ([]byte, error)
	ReadEHeaderPB() ([]byte, error)
}

type OpCode

type OpCode uint8

OpCode 操作代码

const (
	// Request Request/Repsonse
	REQUEST_RESPONSE OpCode = 0x1
	// Publish Publish/Pubback
	PUBLISH_PUBACK OpCode = 0x2
	// Subscribe Subscribe/Subback
	SUBSCRIBE_SUBACK OpCode = 0x3
	// Unsubscribe Unsubscribe/Unsubback
	UNSUBSCRIBE_UNSUBACK OpCode = 0x4
	// Connect  Connect/Connback
	CONNECT_CONNACK OpCode = 0x6
	// SYNCROUNTING
	SYNCROUNTING OpCode = 0x7
	// Disconnect Disconnect/Disconnback
	DISCONNECT_DISCONNACK OpCode = 0x8
	// PING
	PING OpCode = 0x9
	// PONG
	PONG OpCode = 0xA
)

type Packet

type Packet struct {
	IPacket IPacket
	// contains filtered or unexported fields
}

Packet 数据包

func Unpack

func Unpack(buf []byte) *Packet

Unpack

func (*Packet) Init

func (packet *Packet) Init(data []byte)

func (*Packet) ReadEHeaderBuffer

func (packet *Packet) ReadEHeaderBuffer() []byte

func (*Packet) ReadEHeaderLength

func (packet *Packet) ReadEHeaderLength() uint16

func (*Packet) ReadEHeaderPB

func (packet *Packet) ReadEHeaderPB() (*EHeader, error)

func (*Packet) ReadEPayloadBuffer

func (packet *Packet) ReadEPayloadBuffer() []byte

func (*Packet) ReadOpCode

func (packet *Packet) ReadOpCode() uint8

func (*Packet) ReadTrackEnabled

func (packet *Packet) ReadTrackEnabled() bool

type SHeader

type SHeader struct {
	//OpCode 操作代码
	OpCode       OpCode
	TrackEnabled TrackEnabled
	EHPLength    EHPLength
}

SBHeader Standard Binanry Header 标准二进制包头

type SyncRounting

type SyncRounting struct {
	// RountingNames
	RountingNames string `protobuf:"bytes,1,opt,name=RountingNames,proto3" json:"RountingNames,omitempty"`
	// Parameters
	Parameters string `protobuf:"bytes,2,opt,name=Parameters,proto3" json:"Parameters,omitempty"`
	// QueryStrings
	QueryStrings         string   `protobuf:"bytes,3,opt,name=QueryStrings,proto3" json:"QueryStrings,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*SyncRounting) Descriptor

func (*SyncRounting) Descriptor() ([]byte, []int)

func (*SyncRounting) GetParameters

func (m *SyncRounting) GetParameters() string

func (*SyncRounting) GetQueryStrings

func (m *SyncRounting) GetQueryStrings() string

func (*SyncRounting) GetRountingNames

func (m *SyncRounting) GetRountingNames() string

func (*SyncRounting) ProtoMessage

func (*SyncRounting) ProtoMessage()

func (*SyncRounting) Reset

func (m *SyncRounting) Reset()

func (*SyncRounting) String

func (m *SyncRounting) String() string

func (*SyncRounting) XXX_DiscardUnknown

func (m *SyncRounting) XXX_DiscardUnknown()

func (*SyncRounting) XXX_Marshal

func (m *SyncRounting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SyncRounting) XXX_Merge

func (m *SyncRounting) XXX_Merge(src proto.Message)

func (*SyncRounting) XXX_Size

func (m *SyncRounting) XXX_Size() int

func (*SyncRounting) XXX_Unmarshal

func (m *SyncRounting) XXX_Unmarshal(b []byte) error

type SyncRountingNames

type SyncRountingNames struct {
	RountingNames string
	// Parameters
	Parameters string
	// QueryStrings
	QueryStrings string
}

type TrackEnabled

type TrackEnabled uint8
const (
	// 啟動追蹤
	DISABLED TrackEnabled = 0x0
	// 不啟動追蹤
	ENABLED TrackEnabled = 0x1
)

Jump to

Keyboard shortcuts

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