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
GetIncomingPeerId() uint16
GetIncomingSessionId() uint8
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
//rtt
GetRoundTripTime() uint32
GetLastRoundTripTime() uint32
GetLowestRoundTripTime() uint32
GetRoundTripTimeVariance() uint32
GetLastRoundTripTimeVariance() uint32
GetHighestRoundTripTimeVariance() uint32
}
Peer is a peer which data packets may be sent or received from
Click to show internal directories.
Click to hide internal directories.