mirror of
				https://github.com/libp2p/go-libp2p.git
				synced 2025-10-31 20:02:48 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			19 lines
		
	
	
		
			513 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			513 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package queue
 | |
| 
 | |
| import peer "github.com/ipfs/go-libp2p/p2p/peer"
 | |
| 
 | |
| // PeerQueue maintains a set of peers ordered according to a metric.
 | |
| // Implementations of PeerQueue could order peers based on distances along
 | |
| // a KeySpace, latency measurements, trustworthiness, reputation, etc.
 | |
| type PeerQueue interface {
 | |
| 
 | |
| 	// Len returns the number of items in PeerQueue
 | |
| 	Len() int
 | |
| 
 | |
| 	// Enqueue adds this node to the queue.
 | |
| 	Enqueue(peer.ID)
 | |
| 
 | |
| 	// Dequeue retrieves the highest (smallest int) priority node
 | |
| 	Dequeue() peer.ID
 | |
| }
 | 
