Documentation
¶
Index ¶
- func InitTCP(server *Comet, addrs []string, accept int) (err error)
- func InitWebsocket(server *Comet, addrs []string, accept int) (err error)
- type Bucket
- func (b *Bucket) Broadcast(p *grpc.Proto, op int32)
- func (b *Bucket) BroadcastGroup(arg *grpc.BroadcastGroupReq)
- func (b *Bucket) Channel(key string) (ch *Channel)
- func (b *Bucket) ChannelCount() int
- func (b *Bucket) Del(dch *Channel)
- func (b *Bucket) DelGroup(group *Group)
- func (b *Bucket) Group(gid string) (group *Group)
- func (b *Bucket) GroupCount() int
- func (b *Bucket) GroupsCount() (res map[string]int32)
- func (b *Bucket) Put(ch *Channel) (err error)
- func (b *Bucket) PutGroup(gid string) (group *Group, err error)
- type Channel
- func (c *Channel) Close()
- func (c *Channel) DelNode(id string)
- func (c *Channel) GetNode(id string) *Node
- func (c Channel) Groups() map[string]*Node
- func (c *Channel) Push(p *grpc.Proto) (seq int32, err error)
- func (c *Channel) Ready() *grpc.Proto
- func (c *Channel) SetNode(id string, node *Node)
- func (c *Channel) Signal()
- type Comet
- func (s *Comet) Bucket(subKey string) *Bucket
- func (s *Comet) Buckets() []*Bucket
- func (s *Comet) Close() (err error)
- func (s *Comet) Connect(c context.Context, p *comet.Proto) (key string, hb time.Duration, errMsg string, err error)
- func (s *Comet) Disconnect(c context.Context, key string) (err error)
- func (s *Comet) Heartbeat(ctx context.Context, key string) (err error)
- func (s *Comet) Operate(ctx context.Context, p *grpc.Proto, ch *Channel, tsk *dtask.Task) error
- func (s *Comet) RandServerHearbeat() time.Duration
- func (s *Comet) Receive(ctx context.Context, key string, p *comet.Proto) (err error)
- func (s *Comet) ServeTCP(conn *net.TCPConn, rp, wp *bytes.Pool, tr *xtime.Timer)
- func (s *Comet) ServeWebsocket(conn net.Conn, rp, wp *bytes.Pool, tr *xtime.Timer)
- type Group
- type Node
- type Ring
- type Round
- type RoundOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Bucket ¶
type Bucket struct {
// contains filtered or unexported fields
}
Bucket is a channel holder.
func (*Bucket) BroadcastGroup ¶
func (b *Bucket) BroadcastGroup(arg *grpc.BroadcastGroupReq)
BroadcastGroup broadcast a message to specified group
func (*Bucket) ChannelCount ¶
ChannelCount channel count in the bucket
func (*Bucket) GroupCount ¶
group GroupCount room count in the bucket
func (*Bucket) GroupsCount ¶
GroupsCount get all group id where online number > 0.
type Channel ¶
type Channel struct {
CliProto Ring
Writer bufio.Writer
Reader bufio.Reader
Seq int32
Key string
IP string
Port string
// contains filtered or unexported fields
}
Channel used by message pusher send msg to write goroutine.
type Comet ¶
type Comet struct {
// contains filtered or unexported fields
}
Comet is comet server.
func (*Comet) Connect ¶
func (s *Comet) Connect(c context.Context, p *comet.Proto) (key string, hb time.Duration, errMsg string, err error)
Connect connected a connection.
func (*Comet) Disconnect ¶
Disconnect disconnected a connection.
func (*Comet) RandServerHearbeat ¶
RandServerHearbeat rand server heartbeat.
type Group ¶
type Group struct {
ID string
Online int32 // dirty read is ok
AllOnline int32
// contains filtered or unexported fields
}
Group is a group and store channel group info.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.