binary

package
v0.0.0-...-34ce8e4 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2018 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MinTriad = 0
	MaxTriad = 16777216
)
View Source
const (
	// TriadSize is byte size of Triad
	TriadSize = 3
)

Variables

View Source
var BigEndian bigEndian

BigEndian .

View Source
var LittleEndian littleEndian

LittleEndian .

Functions

func Read

func Read(reader io.Reader, order RaknetOrder, data interface{}) error

Read reads data into b by order

func Write

func Write(writer io.Writer, order RaknetOrder, data interface{}) error

Write writes the contents of data into buffer by order

func WriteLTriad

func WriteLTriad(v Triad) []byte

WriteTriad write Triad value as LittleEndian

func WriteTriad

func WriteTriad(v Triad) []byte

WriteTriad write Triad value

Types

type RaknetOrder

type RaknetOrder interface {
	binary.Order

	Triad(v []byte) Triad
	PutTriad(v Triad) []byte
}

RaknetOrder for Raknet Protocol

type RaknetStream

type RaknetStream struct {
	binary.Stream
}

RaknetStream is binary stream for Raknet

func NewStream

func NewStream() *RaknetStream

func NewStreamBytes

func NewStreamBytes(b []byte) *RaknetStream

func (*RaknetStream) Address

func (rs *RaknetStream) Address() (addr string, port uint16, err error)

Address sets address got from Buffer to addr and port address(version byte, address byte x4, port ushort)

func (*RaknetStream) AddressSystemAddress

func (rs *RaknetStream) AddressSystemAddress() (*raknet.SystemAddress, error)

AddressSystemAddress sets address got from Buffer to SystemAddress

func (*RaknetStream) CheckMagic

func (rs *RaknetStream) CheckMagic() bool

CheckMagic returns whether 16bytes is Raknet magic

func (*RaknetStream) ConnectionType

func (rs *RaknetStream) ConnectionType() (*raknet.ConnectionType, error)

ConnectionType reads ConnectionType

func (*RaknetStream) LTriad

func (rs *RaknetStream) LTriad() (Triad, error)

LTriad sets triad got from buffer as LittleEndian to value

func (*RaknetStream) PutAddress

func (rs *RaknetStream) PutAddress(addr string, port uint16, version byte) error

PutAddress puts address to Buffer address(version byte, address byte x4, port ushort)

func (*RaknetStream) PutAddressSystemAddress

func (rs *RaknetStream) PutAddressSystemAddress(addr *raknet.SystemAddress) error

PutAddressSystemAddress puts address from UDPAddr to Buffer

func (*RaknetStream) PutConnectionType

func (rs *RaknetStream) PutConnectionType(ct *raknet.ConnectionType) error

PutConnectionType writes ConnectionType

func (*RaknetStream) PutLTriad

func (rs *RaknetStream) PutLTriad(value Triad) error

PutLTriad puts triad from value to buffer as LittleEndian

func (*RaknetStream) PutMagic

func (rs *RaknetStream) PutMagic() error

PutMagic write Raknet Magic

func (*RaknetStream) PutString

func (rs *RaknetStream) PutString(value string) error

PutString puts string(len short, str string) to the buffer

func (*RaknetStream) PutTriad

func (rs *RaknetStream) PutTriad(value Triad) error

PutTriad puts triad from value to buffer

func (*RaknetStream) PutUUID

func (rs *RaknetStream) PutUUID(uid uuid.UUID) error

PutUUID writes UUID

func (*RaknetStream) String

func (rs *RaknetStream) String() (string, error)

String gets string(len short, str string) from the buffer

func (*RaknetStream) Triad

func (rs *RaknetStream) Triad() (Triad, error)

Triad sets triad got from buffer to value

func (*RaknetStream) UUID

func (rs *RaknetStream) UUID() (uuid.UUID, error)

UUID reads UUID

type Triad

type Triad uint32

Triad is 3bytes data for Raknet It's used as index counter in Raknet

func ReadELTriad

func ReadELTriad(v []byte) (Triad, error)

ReadELTriad read Triad value as LittleEndian with error

func ReadETriad

func ReadETriad(v []byte) (Triad, error)

ReadETriad read Triad value with error

func ReadLTriad

func ReadLTriad(v []byte) Triad

ReadLTriad read Triad value as LittleEndian

func ReadTriad

func ReadTriad(v []byte) Triad

ReadTriad read Triad value

func ToTriad

func ToTriad(a int) Triad

ToTriad convert int to Triad. but minus is no supported. example: 16777217 int -> 0 Triad

func (Triad) Add

func (t Triad) Add(d int) (result Triad)

func (Triad) Bump

func (t Triad) Bump() Triad

func (Triad) Divide

func (t Triad) Divide(d int) (result Triad)

func (Triad) Multi

func (t Triad) Multi(d int) (result Triad)

func (Triad) Remainder

func (t Triad) Remainder(d int) (result Triad)

func (Triad) Sub

func (t Triad) Sub(d int) Triad

func (Triad) Vaild

func (t Triad) Vaild() bool

Jump to

Keyboard shortcuts

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