Lines Matching refs:channel
50 // create upstream channel semaphore
84 AbstractConnection::AddDownStreamChannel(Channel* channel)
86 if (!channel)
88 return fDownStreamChannels.PushBack(channel);
93 AbstractConnection::AddUpStreamChannel(Channel* channel)
95 if (!channel)
98 status_t error = fUpStreamChannels.PushBack(channel);
101 PutUpStreamChannel(channel);
123 AbstractConnection::GetUpStreamChannel(Channel** channel, bigtime_t timeout)
125 if (!channel)
134 // we've acquire the semaphore successfully, so a free channel must be
139 "upstream semaphore successfully, but there's no free channel!\n"));
143 *channel = fUpStreamChannels.ElementAt(fFreeUpStreamChannels);
149 AbstractConnection::PutUpStreamChannel(Channel* channel)
151 if (!channel)
153 // find the channel
155 int32 index = fUpStreamChannels.IndexOf(channel, fFreeUpStreamChannels);
158 // swap it with the first non-free channel, release the semaphore,
159 // and bump the free channel count
163 target = channel;