Class: LIBUSB::IsochronousTransfer
- Defined in:
- lib/libusb/transfer.rb
Constant Summary
Constants inherited from Transfer
Transfer::TransferStatusToError
Instance Attribute Summary
Attributes inherited from Transfer
Instance Method Summary collapse
- #[](nr) ⇒ Object
-
#initialize(num_packets, args = {}) ⇒ IsochronousTransfer
constructor
A new instance of IsochronousTransfer.
- #num_packets ⇒ Object
- #num_packets=(number) ⇒ Object
-
#packet_lengths=(len) ⇒ Object
Convenience function to set the length of all packets in an isochronous transfer, based on #num_packets.
Methods inherited from Transfer
#actual_buffer, #actual_length, #alloc_buffer, #buffer, #buffer=, #callback=, #cancel!, #dev_handle=, #endpoint=, #free_buffer, #memory_type, #status, #submit!, #submit_and_wait, #submit_and_wait!, #timeout=
Constructor Details
#initialize(num_packets, args = {}) ⇒ IsochronousTransfer
Returns a new instance of IsochronousTransfer.
342 343 344 345 346 347 348 349 |
# File 'lib/libusb/transfer.rb', line 342 def initialize(num_packets, args={}) @ptr = Call.libusb_alloc_transfer(num_packets) @transfer = Call::Transfer.new @ptr @transfer[:type] = TRANSFER_TYPE_ISOCHRONOUS @transfer[:timeout] = 1000 @transfer[:num_iso_packets] = num_packets super(args) end |
Instance Method Details
#[](nr) ⇒ Object
358 359 360 |
# File 'lib/libusb/transfer.rb', line 358 def [](nr) IsoPacket.new( @ptr + Call::Transfer.size + nr*Call::IsoPacketDescriptor.size, nr) end |
#num_packets ⇒ Object
351 352 353 |
# File 'lib/libusb/transfer.rb', line 351 def num_packets @transfer[:num_iso_packets] end |
#num_packets=(number) ⇒ Object
354 355 356 |
# File 'lib/libusb/transfer.rb', line 354 def num_packets=(number) @transfer[:num_iso_packets] = number end |
#packet_lengths=(len) ⇒ Object
Convenience function to set the length of all packets in an isochronous transfer, based on #num_packets.
364 365 366 367 368 369 370 |
# File 'lib/libusb/transfer.rb', line 364 def packet_lengths=(len) ptr = @ptr + Call::Transfer.size num_packets.times do ptr.write_uint(len) ptr += Call::IsoPacketDescriptor.size end end |