LibUsbDotNet.Main.UsbTransferQueue.UsbTransferQueue C# (CSharp) Method

UsbTransferQueue() public method

Creates a new transfer queue instance.
public UsbTransferQueue ( UsbEndpointBase endpointBase, int maxOutstandingIO, int bufferSize, int timeout, int isoPacketSize ) : System
endpointBase UsbEndpointBase The endpoint to transfer data to/from.
maxOutstandingIO int The number of transfers to before waiting for a completion.
bufferSize int The size of each data buffer.
timeout int The maximum time to wait for each transfer.
isoPacketSize int For isochronous use only. The iso packet size. If 0, the endpoints max packet size is used.
return System
        public UsbTransferQueue(UsbEndpointBase endpointBase, int maxOutstandingIO, int bufferSize, int timeout, int isoPacketSize)
        {
            EndpointBase = endpointBase;
            IsoPacketSize = isoPacketSize;
            Timeout = timeout;
            BufferSize = bufferSize;
            MaxOutstandingIO = maxOutstandingIO;

            mTransferHandles = new Handle[maxOutstandingIO];

            mBuffer = new byte[maxOutstandingIO][];
            for(int i=0; i < maxOutstandingIO; i++) 
                mBuffer[i] = new byte[bufferSize];

            IsoPacketSize = isoPacketSize > 0 ? isoPacketSize : endpointBase.EndpointInfo.Descriptor.MaxPacketSize;
        }