Clien Progress
This commit is contained in:
		
							parent
							
								
									212fa64be1
								
							
						
					
					
						commit
						ae7f26766f
					
				
							
								
								
									
										28
									
								
								client.go
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								client.go
									
									
									
									
									
								
							| @ -85,6 +85,19 @@ import ( | ||||
| //return ret | ||||
| //} | ||||
| 
 | ||||
| type clientMessage struct { | ||||
| 	ID         uint64 | ||||
| 	Data       interface{} | ||||
| 	ClientAddr string | ||||
| } | ||||
| 
 | ||||
| type call struct { | ||||
| 	Response serverMessage | ||||
| 	t        time.Time | ||||
| 	done     chan struct{} | ||||
| 	request  clientMessage | ||||
| } | ||||
| 
 | ||||
| type ResponseDataHandlerFunc func() (response interface{}) | ||||
| 
 | ||||
| type DialHandlerFunc func(addr string) (conn io.ReadWriteCloser, err error) | ||||
| @ -151,7 +164,7 @@ func clientHandler(c *RPCClient) { | ||||
| 		go func() { | ||||
| 			if conn, err = c.DialHandler(c.Addr); err != nil { | ||||
| 				if stopping.Load() == nil { | ||||
| 					c.LogError("srpc - '%s' cannoc estable rpc connection: '%s'\n", c.Addr, err) | ||||
| 					c.LogError("srpc - '%s' cannot estable rpc connection: '%s'\n", c.Addr, err) | ||||
| 				} | ||||
| 			} | ||||
| 			close(dialChan) | ||||
| @ -175,5 +188,18 @@ func clientHandler(c *RPCClient) { | ||||
| 		} | ||||
| 
 | ||||
| 		c.stopWg.Add(1) | ||||
| 		go clientHandleConnection(c, conn) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func clientHandleConnection(c *RPCClient, conn io.ReadWriteCloser) { | ||||
| 	if c.ConnectHander != nil { | ||||
| 		if newConn, err := c.ConnectHander(c.Addr, conn); err != nil { | ||||
| 			c.LogError("srpc - Client: [%s] - Connect error: '%s'\n", c.Addr, err) | ||||
| 			conn.Close() | ||||
| 			return | ||||
| 		} else { | ||||
| 			conn = newConn | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user