func (c *Clients) GetByListener(id string) []*Client {
	clients := make([]*Client, 0, c.Len())
	c.RLock()
	for _, v := range c.internal {
		if v.Listener == id && atomic.LoadInt32(&v.State.Done) == 0 {
			clients = append(clients, v)
		}
	}
	c.RUnlock()
	return clients
}
// GetByListener returns clients matching a listener id.
GetByListener returns clients matching a listener id.
// GetByListener returns clients matching a listener id .
func (c *Clients) GetByListener(id string) []*Client {
	clients := make([]*Client, 0, c.Len())
	c.RLock()
	for _, v := range c.internal {
		if v.Listener == id && atomic.LoadInt32(&v.State.Done) == 0 {
			clients = append(clients, v)
		}
	}
	c.RUnlock()
	return clients
}
func ( c * Clients ) GetByListener ( id string ) [ ] * Client { clients := make ( [ ] * Client , 0 , c . Len ( ) ) c . RLock ( ) for _ , v := range c . internal { if v . Listener == id && atomic . LoadInt32 ( & v . State . Done ) == 0 { clients = append ( clients , v ) } } c . RUnlock ( ) return clients }
GetByListener returns clients matching a listener id.
GetByListener returns clients matching a listener id .