Selects less loaded stream for read operation over multiple streams.
More...
Selects less loaded stream for read operation over multiple streams.
Definition at line 137 of file XrdClXRootDTransport.cc.
◆ StreamSelector()
XrdCl::StreamSelector::StreamSelector |
( |
uint16_t |
size | ) |
|
|
inline |
◆ AdjustQueues()
void XrdCl::StreamSelector::AdjustQueues |
( |
uint16_t |
size | ) |
|
|
inline |
◆ MsgReceived()
void XrdCl::StreamSelector::MsgReceived |
( |
uint16_t |
substrm | ) |
|
|
inline |
◆ Select()
uint16_t XrdCl::StreamSelector::Select |
( |
const std::vector< bool > & |
connected | ) |
|
|
inline |
Definition at line 161 of file XrdClXRootDTransport.cc.
162 {
163 uint16_t ret = 0;
164 size_t minval = std::numeric_limits<size_t>::max();
165
166 for( uint16_t i = 0; i < connected.size() && i < strmqueues.size(); ++i )
167 {
168 if( !connected[i] ) continue;
169
170 if( strmqueues[i] < minval )
171 {
172 ret = i;
173 minval = strmqueues[i];
174 }
175 }
176
177 ++strmqueues[ret];
178 return ret + 1;
179 }
The documentation for this struct was generated from the following file: