@@ -39,8 +39,9 @@ import (
3939type _Conn struct {
4040 sync.Mutex
4141 tracked uint32 // Whether the connection was already tracked or not.
42- // protocol - NONE (unset), RPC, GRPC, WEBSOCK, CLUSTER
43- proto lp.ProtoAdapter
42+ // protocol - NONE (unset), RPC, GRPC, GRPC_WEB, WEBSOCK, CLUSTER
43+ proto lp.Proto
44+ adp lp.ProtoAdapter
4445 socket net.Conn
4546 // send chan []byte
4647 send chan lp.Packet
@@ -65,16 +66,16 @@ type _Conn struct {
6566}
6667
6768func (s * _Service ) newConn (t net.Conn , proto lp.Proto ) * _Conn {
68- var lineProto lp.ProtoAdapter
69+ var adp lp.ProtoAdapter
6970 switch proto {
7071 case lp .GRPC :
71- lineProto = & grpc.LineProto {}
72+ adp = & grpc.LineProto {}
7273 case lp .GRPC_WEB :
73- lineProto = & grpc.LineProto {}
74+ adp = & grpc.LineProto {}
7475 }
7576
7677 c := & _Conn {
77- proto : lineProto ,
78+ adp : adp ,
7879 socket : t ,
7980 MessageIds : message .NewMessageIds (),
8081 send : make (chan lp.Packet , 1 ), // buffered
@@ -96,8 +97,16 @@ func (s *_Service) newConn(t net.Conn, proto lp.Proto) *_Conn {
9697}
9798
9899// newRpcConn a new connection in cluster
99- func (s * _Service ) newRpcConn (conn interface {}, connid uid.LID , clientid uid.ID ) * _Conn {
100+ func (s * _Service ) newRpcConn (conn interface {}, proto lp.Proto , connid uid.LID , clientid uid.ID ) * _Conn {
101+ var adp lp.ProtoAdapter
102+ switch proto {
103+ case lp .GRPC :
104+ adp = & grpc.LineProto {}
105+ case lp .GRPC_WEB :
106+ adp = & grpc.LineProto {}
107+ }
100108 c := & _Conn {
109+ adp : adp ,
101110 connid : connid ,
102111 clientid : clientid ,
103112 MessageIds : message .NewMessageIds (),
@@ -307,7 +316,7 @@ func (c *_Conn) storeInbound(m lp.Packet) {
307316 blockId := uint64 (c .clientid .Contract ())
308317 k := uint64 (c .inboundID (m .Info ().MessageID ))<< 32 + blockId
309318 fmt .Println ("inbound: type, key, qos" , m .Type (), k , m .Info ().Qos )
310- store .Log .PersistInbound (c .proto , k , m )
319+ store .Log .PersistInbound (c .adp , k , m )
311320 }
312321}
313322
@@ -316,7 +325,7 @@ func (c *_Conn) storeOutbound(m lp.Packet) {
316325 blockId := uint64 (c .clientid .Contract ())
317326 k := uint64 (c .inboundID (m .Info ().MessageID ))<< 32 + blockId
318327 fmt .Println ("inbound: type, key, qos" , m .Type (), k , m .Info ().Qos )
319- store .Log .PersistOutbound (c .proto , k , m )
328+ store .Log .PersistOutbound (c .adp , k , m )
320329 }
321330}
322331
0 commit comments