Merge pull request #6 from Bowedyapper/master

This commit is contained in:
Melissa 2022-12-10 03:43:49 +01:00 committed by GitHub
commit b00ef38743
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

28
host.go
View file

@ -14,6 +14,9 @@ type Host interface {
Connect(addr Address, channelCount int, data uint32) (Peer, error) Connect(addr Address, channelCount int, data uint32) (Peer, error)
CompressWithRangeCoder() 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
} }
type enetHost struct { type enetHost struct {
@ -86,3 +89,28 @@ func NewHost(addr Address, peerCount, channelLimit uint64, incomingBandwidth, ou
cHost: host, cHost: host,
}, nil }, nil
} }
func (host *enetHost) BroadcastBytes(data []byte, channel uint8, flags PacketFlags) error {
packet, err := NewPacket(data, flags)
if err != nil {
return err
}
return host.BroadcastPacket(packet, channel)
}
func (host *enetHost) BroadcastPacket(packet Packet, channel uint8) error {
C.enet_host_broadcast(
host.cHost,
(C.enet_uint8)(channel),
packet.(enetPacket).cPacket,
)
return nil
}
func (host *enetHost) BroadcastString(str string, channel uint8, flags PacketFlags) error {
packet, err := NewPacket([]byte(str), flags)
if err != nil {
return err
}
return host.BroadcastPacket(packet, channel)
}