Write stream implementation (#19)
Defines a WriteStream structure for buffering writes, similar to the existing ReadStream. WriteStreams can be created on OutEndpoints by using ep.NewStream().
This commit is contained in:
@@ -192,8 +192,16 @@ func (f *fakeLibusb) setIsoPacketLengths(*libusbTransfer, uint32) {}
|
||||
|
||||
// waitForSubmitted can be used by tests to define custom behavior of the transfers submitted on the USB bus.
|
||||
// TODO(sebek): add fields in fakeTransfer to differentiate between different devices/endpoints used concurrently.
|
||||
func (f *fakeLibusb) waitForSubmitted() *fakeTransfer {
|
||||
return <-f.submitted
|
||||
func (f *fakeLibusb) waitForSubmitted(done <-chan struct{}) *fakeTransfer {
|
||||
select {
|
||||
case t, ok := <-f.submitted:
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
return t
|
||||
case <-done:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// empty can be used to confirm that all transfers were cleaned up.
|
||||
|
Reference in New Issue
Block a user