|
|
|
package notify
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"net"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Server interface {
|
|
|
|
SetDefaultCommEncode(func([]byte, []byte) []byte)
|
|
|
|
SetDefaultCommDecode(func([]byte, []byte) []byte)
|
|
|
|
SetDefaultLink(func(message *Message))
|
|
|
|
SetLink(string, func(*Message))
|
|
|
|
send(c *ClientConn, msg TransferMsg) (WaitMsg, error)
|
|
|
|
sendWait(c *ClientConn, msg TransferMsg, timeout time.Duration) (Message, error)
|
|
|
|
SendObjCtx(ctx context.Context, c *ClientConn, key string, val interface{}) (Message, error)
|
|
|
|
SendObj(c *ClientConn, key string, val interface{}) error
|
|
|
|
Send(c *ClientConn, key string, value MsgVal) error
|
|
|
|
SendWait(c *ClientConn, key string, value MsgVal, timeout time.Duration) (Message, error)
|
|
|
|
SendWaitObj(c *ClientConn, key string, value interface{}, timeout time.Duration) (Message, error)
|
|
|
|
SendCtx(ctx context.Context, c *ClientConn, key string, value MsgVal) (Message, error)
|
|
|
|
Reply(m Message, value MsgVal) error
|
|
|
|
pushMessage([]byte, string)
|
|
|
|
removeClient(client *ClientConn)
|
|
|
|
Listen(network string, addr string) error
|
|
|
|
Stop() error
|
|
|
|
StopMonitorChan() <-chan struct{}
|
|
|
|
Status() Status
|
|
|
|
|
|
|
|
GetSecretKey() []byte
|
|
|
|
SetSecretKey(key []byte)
|
|
|
|
RsaPrivKey() []byte
|
|
|
|
SetRsaPrivKey([]byte)
|
|
|
|
|
|
|
|
GetClient(id string) *ClientConn
|
|
|
|
GetClientLists() []*ClientConn
|
|
|
|
GetClientAddrs() []net.Addr
|
|
|
|
|
|
|
|
GetSequenceEn() func(interface{}) ([]byte, error)
|
|
|
|
SetSequenceEn(func(interface{}) ([]byte, error))
|
|
|
|
GetSequenceDe() func([]byte) (interface{}, error)
|
|
|
|
SetSequenceDe(func([]byte) (interface{}, error))
|
|
|
|
ShowError(bool)
|
|
|
|
|
|
|
|
HeartbeatTimeoutSec() int64
|
|
|
|
SetHeartbeatTimeoutSec(int64)
|
|
|
|
}
|