{"translation":"https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/fr/?format=json","source":["Pipes Communication to end points on a device flows through so-called pipes. Drivers submit transfers to endpoints to a pipe and provide a callback to be called on completion or failure of the transfer (asynchronous transfers) or wait for completion (synchronous transfer). Transfers to an endpoint are serialised in the pipe. A transfer can either complete, fail or time-out (if a time-out has been set). There are two types of time-outs for transfers. Time-outs can happen due to time-out on the USBbus (milliseconds). These time-outs are seen as failures and can be due to disconnection of the device. A second form of time-out is implemented in software and is triggered when a transfer does not complete within a specified amount of time (seconds). These are caused by a device acknowledging negatively (NAK) the transferred packets. The cause for this is the device not being ready to receive data, buffer under- or overrun or protocol errors."],"previous_source":"","target":[""],"id_hash":862745265346749744,"content_hash":862745265346749744,"location":"documentation/content/en/books/arch-handbook/usb/_index.adoc:133","context":"","note":"type: Plain text","flags":"","labels":[],"state":0,"fuzzy":false,"translated":false,"approved":false,"position":50,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":155,"source_unit":"https://translate-dev.freebsd.org/api/units/1128810/?format=json","priority":100,"id":1728803,"web_url":"https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/fr/?checksum=8bf9163f70a4a530","url":"https://translate-dev.freebsd.org/api/units/1728803/?format=json","explanation":"","extra_flags":"","pending":false,"timestamp":"2025-01-22T17:50:47.931908Z"}