mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-14 05:11:19 -04:00
Simplify Peers.Pop.
This commit is contained in:
parent
17c0d0ff82
commit
3520f4e8b9
1 changed files with 10 additions and 10 deletions
|
@ -62,24 +62,24 @@ func (p *Peers) Collect() (Snowflake, error) {
|
|||
return connection, nil
|
||||
}
|
||||
|
||||
// As part of |SnowflakeCollector| interface.
|
||||
// Pop blocks until an available, valid snowflake appears. Returns nil after End
|
||||
// has been called.
|
||||
//
|
||||
// Part of |SnowflakeCollector| interface.
|
||||
func (p *Peers) Pop() Snowflake {
|
||||
// Blocks until an available, valid snowflake appears.
|
||||
var snowflake Snowflake
|
||||
var ok bool
|
||||
for snowflake == nil {
|
||||
snowflake, ok = <-p.snowflakeChan
|
||||
for {
|
||||
snowflake, ok := <-p.snowflakeChan
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
conn := snowflake.(*WebRTCPeer)
|
||||
if conn.closed {
|
||||
snowflake = nil
|
||||
continue
|
||||
}
|
||||
// Set to use the same rate-limited traffic logger to keep consistency.
|
||||
conn.BytesLogger = p.BytesLogger
|
||||
return conn
|
||||
}
|
||||
// Set to use the same rate-limited traffic logger to keep consistency.
|
||||
snowflake.(*WebRTCPeer).BytesLogger = p.BytesLogger
|
||||
return snowflake
|
||||
}
|
||||
|
||||
// As part of |SnowflakeCollector| interface.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue