@@ -61,14 +61,14 @@ func (c *Client) Connect(ctx context.Context, addr string) error {
6161
6262 quicConf := & quic.Config {
6363 Versions : []quic.VersionNumber {quic .Version1 , quic .VersionDraft29 },
64- MaxIdleTimeout : time .Second * 3 ,
64+ MaxIdleTimeout : time .Second * 10 ,
6565 KeepAlive : true ,
66- MaxIncomingStreams : 10000 ,
67- MaxIncomingUniStreams : 10000 ,
66+ MaxIncomingStreams : 1000 ,
67+ MaxIncomingUniStreams : 1000 ,
6868 HandshakeIdleTimeout : time .Second * 3 ,
6969 InitialStreamReceiveWindow : 1024 * 1024 * 2 ,
7070 InitialConnectionReceiveWindow : 1024 * 1024 * 2 ,
71- TokenStore : quic .NewLRUTokenStore (1 , 1 ),
71+ TokenStore : quic .NewLRUTokenStore (10 , 5 ),
7272 DisablePathMTUDiscovery : true ,
7373 }
7474
@@ -104,7 +104,7 @@ func (c *Client) Connect(ctx context.Context, addr string) error {
104104 go c .handleFrame ()
105105
106106 c .state = ConnStateConnected
107- logger .Printf ("%s[%s] is connected to YoMo-Zipper %s " , ClientLogPrefix , c .token , addr )
107+ logger .Printf ("%s has connected to %s (%s) " , ClientLogPrefix , c .token , addr )
108108
109109 return nil
110110}
@@ -119,12 +119,12 @@ func (c *Client) handleFrame() {
119119 f , err := fs .ReadFrame ()
120120 if err != nil {
121121 defer c .stream .Close ()
122- defer c .session .CloseWithError (0xCC , err .Error ())
122+ defer c .session .CloseWithError (0xD0 , err .Error ())
123123 defer c .setState (ConnStateDisconnected )
124124
125125 logger .Errorf ("%shandleFrame.ReadFrame(): %T %v" , ClientLogPrefix , err , err )
126126 if e , ok := err .(* quic.IdleTimeoutError ); ok {
127- logger .Errorf ("%sconnection timeout, err=%v" , ClientLogPrefix , e )
127+ logger .Errorf ("%sconnection timeout, err=%v, zipper=%s " , ClientLogPrefix , e , c . addr )
128128 } else if e , ok := err .(* quic.ApplicationError ); ok {
129129 logger .Errorf ("%sapplication error, err=%v, errcode=%v" , ClientLogPrefix , e , e .ErrorCode )
130130 if e .ErrorCode == 0xCC {
@@ -219,10 +219,10 @@ func (c *Client) WriteFrame(frm frame.Frame) error {
219219 defer c .mu .Unlock ()
220220 n , err := c .stream .Write (data )
221221 // TODO: move partial logging as a utility
222- if len (data ) > 256 {
223- logger .Debugf ("%sWriteFrame() wrote n=%d, len(data)=%d" , ClientLogPrefix , n , len (data ))
222+ if len (data ) > 16 {
223+ logger .Debugf ("%sWriteFrame() wrote n=%d, len(data)=%d, data[:16]=%# x ... " , ClientLogPrefix , n , len (data ), data [: 16 ] )
224224 } else {
225- logger .Debugf ("%sWriteFrame() wrote n=%d, data=% # x" , ClientLogPrefix , n , data )
225+ logger .Debugf ("%sWriteFrame() wrote n=%d, len( data)=%d, data=% # x" , ClientLogPrefix , n , len ( data ) , data )
226226 }
227227 if err != nil {
228228 if e , ok := err .(* quic.IdleTimeoutError ); ok {
@@ -258,9 +258,11 @@ func (c *Client) reconnect(ctx context.Context, addr string) {
258258 t := time .NewTicker (3 * time .Second )
259259 for range t .C {
260260 if c .state == ConnStateDisconnected {
261- fmt .Printf ("%s[%s] is retring to YoMo-Zipper %s...\n " , ClientLogPrefix , c .token , addr )
261+ fmt .Printf ("%s[%s] is retrying to YoMo-Zipper %s...\n " , ClientLogPrefix , c .token , addr )
262262 err := c .Connect (ctx , addr )
263- logger .Errorf ("%s reconnect error:%v" , ClientLogPrefix , err )
263+ if err != nil {
264+ logger .Errorf ("%s reconnect to %s error:%v" , ClientLogPrefix , addr , err )
265+ }
264266 }
265267 }
266268}
0 commit comments