data

package
v0.0.0-...-0172ae5 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2017 License: MIT Imports: 8 Imported by: 5

Documentation

Index

Constants

View Source
const (
	PacketTypeEthernetFrame uint8 = iota
	PacketTypeServerHello
	PacketTypeClientHello
	PacketTypeCreateGroupRequest
	PacketTypeCreateGroupResponse
	PacketTypeJoinGroupRequest
	PacketTypeJoinGroupResponse
	PacketTypeLeaveGroupRequest
	PacketTypeLeaveGroupResponse
	PacketTypeListGroupsRequest
	PacketTypeListGroupsResponse
	PacketTypeClientJoinedGroupNotification
	PacketTypeClientLeftGroupNotification
)

Variables

This section is empty.

Functions

func EncryptAndSerializePacket

func EncryptAndSerializePacket(encryptionType, packetType uint8, buffer []byte, w io.Writer) error

func IPToString

func IPToString(i IPAddr) string

func IntIPtoNetIP

func IntIPtoNetIP(v IPAddr) net.IP

func MACAddrToHWAddr

func MACAddrToHWAddr(a MACAddr) net.HardwareAddr

func MACAddrToString

func MACAddrToString(a MACAddr) string

Types

type ClientHello

type ClientHello struct {
	Name     string
	Password string
	MAC      MACAddr
}

func (*ClientHello) Serialize

func (v *ClientHello) Serialize() []byte

type ClientJoinedGroupNotification

type ClientJoinedGroupNotification struct {
	Name string
	IP   IPAddr
	MAC  MACAddr
}

func (*ClientJoinedGroupNotification) Serialize

func (v *ClientJoinedGroupNotification) Serialize() []byte

type ClientLeftGroupNotification

type ClientLeftGroupNotification struct {
	Name string
	IP   IPAddr
	MAC  MACAddr
}

func (*ClientLeftGroupNotification) Serialize

func (v *ClientLeftGroupNotification) Serialize() []byte

type CreateGroupRequest

type CreateGroupRequest struct {
	Name              string
	Password          string
	NetworkAddr       IPAddr
	NetworkSubnetMask IPAddr
}

func (*CreateGroupRequest) Serialize

func (v *CreateGroupRequest) Serialize() []byte

type CreateGroupResponse

type CreateGroupResponse struct {
	OK    bool
	Error string

	IP      IPAddr
	Netmask IPAddr
	Gateway IPAddr
}

func (*CreateGroupResponse) Serialize

func (v *CreateGroupResponse) Serialize() []byte

type IPAddr

type IPAddr uint32

func NetIPtoIntIP

func NetIPtoIntIP(b net.IP) IPAddr

type JoinGroupRequest

type JoinGroupRequest struct {
	Name     string
	Password string
}

func (*JoinGroupRequest) Serialize

func (v *JoinGroupRequest) Serialize() []byte

type JoinGroupResponse

type JoinGroupResponse struct {
	OK    bool
	Error string

	IP      IPAddr
	Netmask IPAddr
	Gateway IPAddr
	Clients []*JoinGroupResponseClient
}

func (*JoinGroupResponse) Serialize

func (v *JoinGroupResponse) Serialize() []byte

type JoinGroupResponseClient

type JoinGroupResponseClient struct {
	UserName string
	IP       IPAddr
}

type LeaveGroupRequest

type LeaveGroupRequest struct {
}

func (*LeaveGroupRequest) Serialize

func (v *LeaveGroupRequest) Serialize() []byte

type LeaveGroupResponse

type LeaveGroupResponse struct {
	OK    bool
	Error string
}

func (*LeaveGroupResponse) Serialize

func (v *LeaveGroupResponse) Serialize() []byte

type ListGroupsRequest

type ListGroupsRequest struct {
}

func (*ListGroupsRequest) Serialize

func (v *ListGroupsRequest) Serialize() []byte

type ListGroupsResponse

type ListGroupsResponse struct {
	Groups []string
}

func (*ListGroupsResponse) Serialize

func (v *ListGroupsResponse) Serialize() []byte

type MACAddr

type MACAddr uint64
const (
	BroadcastMAC MACAddr = 0x0000ffffffffffff
)

func HWAddrToMACAddr

func HWAddrToMACAddr(a net.HardwareAddr) MACAddr

type PacketHeader

type PacketHeader struct {
	PacketSize     uint16
	PacketType     uint8
	EncryptionType uint8
}

func DeserializeAndDecryptPacket

func DeserializeAndDecryptPacket(r io.Reader) (*PacketHeader, []byte, error)

type ServerHello

type ServerHello struct {
	OK    bool
	Error string
}

func (*ServerHello) Serialize

func (v *ServerHello) Serialize() []byte

Jump to

Keyboard shortcuts

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