a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
s.once.Do(func() {
// let read/Write timeout asap
now := time.Now()
if conn := s.Conn(); conn != nil {
conn.SetReadDeadline(now.Add(s.readTimeout()))
conn.SetWriteDeadline(now.Add(s.writeTimeout()))
}
close(s.done)
c := s.GetAttribute(sessionClientKey)
if clt, ok := c.(*client); ok {
//clt.reConnect()
clt.Close()
session.go
s.once.Do(func() { // let read/Write timeout asap now := time.Now() if conn := s.Conn(); conn != nil { conn.SetReadDeadline(now.Add(s.readTimeout())) conn.SetWriteDeadline(now.Add(s.writeTimeout())) } close(s.done) c := s.GetAttribute(sessionClientKey) if clt, ok := c.(*client); ok { //clt.reConnect() clt.Close()
})