package group

import "github.com/Diarkis/diarkis/client/go/modules/group"

Index

Types

type Group

type Group struct {
	ID string
}

Group represents Diarkis Group client

func (*Group) BroadcastTo

func (group *Group) BroadcastTo(groupID string, message []byte, reliable bool)

BroadcastTo sends a message to all group members

func (*Group) Create

func (group *Group) Create(allowEmpty bool, join bool, ttl uint16)

Create creates a new group

func (*Group) Join

func (group *Group) Join(groupID string, message []byte)

Join joins a group

func (*Group) JoinRandom

func (group *Group) JoinRandom(ttl uint16, msg []byte, allowEmpty bool, interval uint32)

JoinRandom joins a random group or creates a new group if no group is found

func (*Group) Leave

func (group *Group) Leave(groupID string, message []byte)

Leave leaves from a group that you have joined

func (*Group) OnCreate

func (group *Group) OnCreate(callback func(bool, string))

OnCreate assigns a callback on create event

func (*Group) OnJoin

func (group *Group) OnJoin(callback func(bool, string))

OnJoin assigns a callback on join event

func (*Group) OnLeave

func (group *Group) OnLeave(callback func(bool))

OnLeave assigns a callback on leave event

func (*Group) OnMemberBroadcast

func (group *Group) OnMemberBroadcast(callback func([]byte))

OnMemberBroadcast assigns a callback on member broadcast event

func (*Group) OnMemberJoin

func (group *Group) OnMemberJoin(callback func([]byte))

OnMemberJoin assigns a callback on member join event

func (*Group) OnMemberLeave

func (group *Group) OnMemberLeave(callback func([]byte))

OnMemberLeave assigns a callback on member leave event

func (*Group) SetupAsTCP

func (group *Group) SetupAsTCP(tcpClient *tcp.Client) bool

SetupAsTCP sets up the Group client as TCP client

func (*Group) SetupAsUDP

func (group *Group) SetupAsUDP(udpClient *udp.Client) bool

SetupAsUDP sets up the Group client as UDP client