Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LinkedVersion ¶
func LinkedVersion() string
LinkedVersion returns the linked version of enet currently being used. Returns MAJOR.MINOR.PATCH as a string.
Types ¶
type Address ¶
type Address interface { SetHostAny() SetHost(ip string) SetPort(port uint16) String() string GetPort() uint16 }
Address specifies a portable internet address structure.
func NewListenAddress ¶
NewListenAddress makes a new address ready for listening on ENET_HOST_ANY
type Event ¶
type Event interface { GetType() EventType GetPeer() Peer GetChannelID() uint8 GetData() uint32 GetPacket() Packet }
Event as returned by Host.Service()
type EventType ¶
type EventType int
EventType is a type of event
const ( // EventNone means that no event occurred within the specified time limit EventNone EventType = iota // EventConnect means that a connection request initiated by Host.Connect has completed // The peer field contains the peer which successfully connected EventConnect // EventDisconnect means that a peer has disconnected. This event is generated on a // successful completion of a disconnect initiated by Peer.Disconnect, if a peer has // timed out, or if a connection request intialized by Host.Connect has timed out. The // peer field contains the peer which disconnected. The data field contains user supplied // data describing the disconnection, or 0, if none is available. EventDisconnect // EventReceive means that a packet has been received from a peer. The peer field // specifies the peer which sent the packet. The channelID field specifies the channel // number upon which the packet was received. The packet field contains the packet that // was received; this packet must be destroyed with Packet.Destroy after use. EventReceive )
type Host ¶
type Host interface { Destroy() Service(timeout uint32) Event Connect(addr Address, channelCount int, data uint32) (Peer, error) CompressWithRangeCoder() error BroadcastBytes(data []byte, channel uint8, flags PacketFlags) error BroadcastPacket(packet Packet, channel uint8) error BroadcastString(str string, channel uint8, flags PacketFlags) error }
Host for communicating with peers
type Packet ¶
type Packet interface { Destroy() GetData() []byte GetFlags() PacketFlags }
Packet may be sent to or received from a peer
type PacketFlags ¶
type PacketFlags uint32
PacketFlags are bit constants
const ( // PacketFlagReliable packets must be received by the target peer and resend attempts // should be made until the packet is delivered PacketFlagReliable PacketFlags = C.ENET_PACKET_FLAG_RELIABLE // PacketFlagUnsequenced packets will not be sequenced with other packets not supported // for reliable packets PacketFlagUnsequenced PacketFlags = C.ENET_PACKET_FLAG_UNSEQUENCED // PacketFlagNoAllocate packets will not allocate data, and user must supply it instead PacketFlagNoAllocate PacketFlags = C.ENET_PACKET_FLAG_NO_ALLOCATE // PacketFlagUnreliableFragment packets will be fragmented using unreliable (instead of // reliable) sends if it exceeds the MTU PacketFlagUnreliableFragment PacketFlags = C.ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT // PacketFlagSent specifies whether the packet has been sent from all queues it has been // entered into PacketFlagSent PacketFlags = C.ENET_PACKET_FLAG_SENT )
type Peer ¶
type Peer interface { GetAddress() Address GetConnectId() uint Disconnect(data uint32) DisconnectNow(data uint32) DisconnectLater(data uint32) SendBytes(data []byte, channel uint8, flags PacketFlags) error SendString(str string, channel uint8, flags PacketFlags) error SendPacket(packet Packet, channel uint8) error // SetData sets an arbitrary value against a peer. This is useful to attach some // application-specific data for future use, such as an identifier. // // http://enet.bespin.org/structENetPeer.html#a1873959810db7ac7a02da90469ee384e // // Note that due to the way the enet library works, if using this you are // responsible for clearing this data when the peer is finished with. // SetData(nil) will free underlying memory and avoid any leaks. // // See http://enet.bespin.org/Tutorial.html#ManageHost for an example of this // in the underlying library. SetData(data []byte) // GetData returns an application-specific value that's been set // against this peer. This returns nil if no data has been set. // // http://enet.bespin.org/structENetPeer.html#a1873959810db7ac7a02da90469ee384e GetData() []byte }
Peer is a peer which data packets may be sent or received from
Click to show internal directories.
Click to hide internal directories.