ing
This commit is contained in:
		
							parent
							
								
									903c790624
								
							
						
					
					
						commit
						4691a6923a
					
				| @ -30,7 +30,7 @@ type Client struct { | ||||
| 	pendingRequests sync.Map | ||||
| } | ||||
| 
 | ||||
| func (c *Client) Start(readChan <-chan []byte, writeChan chan<- []byte) error { | ||||
| func (c *Client) Start() error { | ||||
| 	if c.stopChan != nil { | ||||
| 		return fmt.Errorf("%s already running. Stop it before starting it again", c.logHeader()) | ||||
| 	} | ||||
| @ -47,6 +47,11 @@ func (c *Client) Start(readChan <-chan []byte, writeChan chan<- []byte) error { | ||||
| 		return fmt.Errorf("%s Codec is not valid", c.logHeader()) | ||||
| 	} | ||||
| 
 | ||||
| 	readChan, writeChan, err := c.Connector.Connect() | ||||
| 	if nil != err { | ||||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	c.stopChan = make(chan struct{}) | ||||
| 
 | ||||
| 	c.stopWg.Add(1) | ||||
| @ -158,6 +163,12 @@ func (c *Client) internalSend(hasResponse bool, result interface{}, method strin | ||||
| 
 | ||||
| func (c *Client) handleClient(readChan <-chan []byte, writeChan chan<- []byte) { | ||||
| 	defer func() { | ||||
| 
 | ||||
| 		if err := c.Connector.Disconnect(); nil != err { | ||||
| 			logging.Logger().Warn(err) | ||||
| 		} | ||||
| 
 | ||||
| 		logging.Logger().Infof("%s Stopped", c.logHeader()) | ||||
| 		c.stopWg.Done() | ||||
| 	}() | ||||
| 
 | ||||
| @ -168,6 +179,8 @@ func (c *Client) handleClient(readChan <-chan []byte, writeChan chan<- []byte) { | ||||
| 	go c.handleSend(stopChan, sendDoneChan, writeChan) | ||||
| 	go c.handleReceive(stopChan, receiveDoneChan, readChan) | ||||
| 
 | ||||
| 	logging.Logger().Infof("%s Started", c.logHeader()) | ||||
| 
 | ||||
| 	select { | ||||
| 	case <-sendDoneChan: | ||||
| 		close(stopChan) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user