protocol

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2019 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HostnameLen   = 64
	ClientIDLen   = 64
	ClientNameLen = 32
)

Variables

This section is empty.

Functions

func AcceptConnections

func AcceptConnections()

Types

type Client

type Client struct {
	Socket net.Conn
	Data   chan []byte
	ID     string
}

func (*Client) IsNotFromSelf

func (client *Client) IsNotFromSelf(message *Message) bool

func (*Client) Register

func (client *Client) Register(token []byte)

type ClientManager

type ClientManager struct {
	Clients    map[*Client]bool
	Bot        chan *Message
	Router     chan *Message
	Register   chan *Client
	Unregister chan *Client
}
var (
	NetListener net.Listener
	NetManager  *ClientManager
)

func (*ClientManager) HandleMessage

func (m *ClientManager) HandleMessage(b []byte, h *Header)

func (*ClientManager) Receive

func (manager *ClientManager) Receive(client *Client)

func (*ClientManager) Send

func (manager *ClientManager) Send(client *Client)

func (*ClientManager) Start

func (manager *ClientManager) Start()
type Header struct {
	Sender        *Client
	OPCode        OPCODE
	RequestLength int
}

func NewHeader

func NewHeader(b []byte) (header *Header)

func (*Header) GetOPCode

func (h *Header) GetOPCode() OPCODE

func (*Header) GetRequestLength

func (h *Header) GetRequestLength() int

type Message

type Message struct {
	Header     *Header
	Overwrite  *OverwriteData
	Hostname   string
	ClientID   string
	ClientName string
	Content    string
}

func ParseMessage

func ParseMessage(b []byte, h *Header) *Message

func (*Message) GetClientColor

func (m *Message) GetClientColor() int

func (*Message) GetClientURL

func (m *Message) GetClientURL() string

func (*Message) GetReceiveChannels

func (m *Message) GetReceiveChannels() []int

func (*Message) GetSendChannels

func (m *Message) GetSendChannels() []int

func (*Message) ToString

func (m *Message) ToString() (buffer string)

type OPCODE

type OPCODE int
const (
	AuthenticateFrame OPCODE = iota // 0
	MessageFrame
	UnknownFrame
)

func GetOPCode

func GetOPCode(b byte) OPCODE

type OverwriteData

type OverwriteData struct {
	ReceiveChannels []int
	SendChannels    []int
}

Jump to

Keyboard shortcuts

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