Selects less loaded stream for read operation over multiple streams.
More...
Selects less loaded stream for read operation over multiple streams.
Definition at line 139 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 163 of file XrdClXRootDTransport.cc.
164 {
165 uint16_t ret = 0;
166 size_t minval = std::numeric_limits<size_t>::max();
167
168 for( uint16_t i = 0; i < connected.size() && i < strmqueues.size(); ++i )
169 {
170 if( !connected[i] ) continue;
171
172 if( strmqueues[i] < minval )
173 {
174 ret = i;
175 minval = strmqueues[i];
176 }
177 }
178
179 ++strmqueues[ret];
180 return ret + 1;
181 }
The documentation for this struct was generated from the following file: