mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 11:15:07 +03:00 
			
		
		
		
	Notify switch idle
This commit is contained in:
		
							parent
							
								
									00bf71a09a
								
							
						
					
					
						commit
						4363283a6f
					
				
					 2 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -45,6 +45,7 @@ func (l *awdl) create(boxPubKey *crypto.BoxPubKey, sigPubKey *crypto.SigPubKey,
 | 
			
		|||
		intf.peer.out = func(msg []byte) {
 | 
			
		||||
			defer func() { recover() }()
 | 
			
		||||
			intf.send <- msg
 | 
			
		||||
			l.core.switchTable.idleIn <- intf.peer.port
 | 
			
		||||
		}
 | 
			
		||||
		go intf.handler()
 | 
			
		||||
		l.core.switchTable.idleIn <- intf.peer.port
 | 
			
		||||
| 
						 | 
				
			
			@ -80,6 +81,7 @@ func (ai *awdlInterface) handler() {
 | 
			
		|||
		select {
 | 
			
		||||
		case p := <-ai.peer.linkOut:
 | 
			
		||||
			ai.send <- p
 | 
			
		||||
			ai.awdl.core.switchTable.idleIn <- ai.peer.port
 | 
			
		||||
			continue
 | 
			
		||||
		default:
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -115,6 +115,10 @@ func (c *Core) AWDLCreateInterface(boxPubKey string, sigPubKey string, name stri
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Core) AWDLShutdownInterface(name string) {
 | 
			
		||||
	c.awdl.shutdown(name)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Core) AWDLRecvPacket(identity string) ([]byte, error) {
 | 
			
		||||
	if intf := c.awdl.getInterface(identity); intf != nil {
 | 
			
		||||
		return <-intf.recv, nil
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue