3 /// Support classes for the pluggable socket routing system.
46 // packets are desired.
55 // See RegisterInterest() for more information.
60 // for which interest has been registered.
63 // for the duration of this method call.
67 // for which interest has been registered.
70 // for the lifetime of this method call.
113 volatile bool m_interest; // true if at least one socket has an interest.
141 // from its destructor.
146 // Also empties the DataHandle on success.
152 // created in the SpinoffSimpleReadThread() member below.
171 // Controller class, but are public here in case they are needed.
176 // ClearUsbError() to clear the flag.
188 // all at once and place them on the free queue.
191 // Returns the data for the next unregistered socket.
192 // Blocks until timeout or data is available.
193 // Returns false (or null pointer) on timeout and no data.
198 // is used if set to -1.
205 // wrong type could cause Socket::SyncSend() to malfunction.
210 // from that socket, use the SocketRead() function from then on.
214 // be called in the same thread instance that DoRead() is called from.
218 // but instead returned to m_free.
227 // for this socket will be placed in the default queue.
233 // call to RegisterInterest() or RegisterInterestAndType().
237 // from sockets that have been previously registered.
238 // Blocks until timeout or data is available.
239 // Returns false (or null pointer) on timeout and no data.
244 // is used if set to -1.
248 // Returns true if data is available for that socket.
253 // read, even if a handler is associated with a queue.
256 // device to work with.
258 // Timeout is in milliseconds. Default is default USB timeout.
265 // then this makes it easy.
266 // Throws Barry::ErrnoError on thread creation error.
276 /// SocketRoutingQueue from whence they came.