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) DebugMode(bool) IsDebugMode() bool HeartbeatTimeoutSec() int64 SetHeartbeatTimeoutSec(int64) }