Documentation
¶
Index ¶
- Constants
- type MessageBuffer
- func (msgBuf *MessageBuffer) AddMessage(clientID []byte, msg *pb.Relay) *msgNode
- func (msgBuf *MessageBuffer) BufferMonitor()
- func (msgBuf *MessageBuffer) ClearAll()
- func (msgBuf *MessageBuffer) GetClientMsgSize(clientID []byte) int
- func (msgBuf *MessageBuffer) PopMessages(clientID []byte) []*pb.Relay
Constants ¶
View Source
const MonitorInterval = 10 // seconds
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MessageBuffer ¶
MessageBuffer is the buffer to hold message for clients not online here use several locks, must use locks in the same order to avoid dead lock. the order should be: msgMu -> createMu -> expireMu
func NewMessageBuffer ¶
func NewMessageBuffer(startBufferMonitor bool) *MessageBuffer
NewMessageBuffer creates a MessageBuffer
func (*MessageBuffer) AddMessage ¶
func (msgBuf *MessageBuffer) AddMessage(clientID []byte, msg *pb.Relay) *msgNode
AddMessage adds a message to message buffer
func (*MessageBuffer) BufferMonitor ¶ added in v2.2.0
func (msgBuf *MessageBuffer) BufferMonitor()
monitor message buffer usage, and remove expired message .
func (*MessageBuffer) ClearAll ¶ added in v2.2.0
func (msgBuf *MessageBuffer) ClearAll()
clear all cached msg and index
func (*MessageBuffer) GetClientMsgSize ¶ added in v2.2.0
func (msgBuf *MessageBuffer) GetClientMsgSize(clientID []byte) int
get one clientId's msg size
func (*MessageBuffer) PopMessages ¶
func (msgBuf *MessageBuffer) PopMessages(clientID []byte) []*pb.Relay
PopMessages reads and clears all messages of a client
Click to show internal directories.
Click to hide internal directories.