File Stream
In computing, a “file” is a fundamental Input/Output (IO) primitive offered by operating systems, representing an abstract device that supports standardized read and write operations. Beyond physical files on disk, this abstraction includes various IO endpoints such as pipes, sockets, mailslots, and specialized device drivers. The File Stream plugin facilitates direct interactions with these file-like objects. By bridging software applications and various IO streams, the plugin enhances communication flexibility and simplifies complex data handling.
Basic Setup
- In IO Ninja, click the “New Session” dropdown and select a new “File Stream” session

- Enter the name of your file, e.g. a pipe or mailslot into the “File:” field.

- Set the file access setting from the “Access:” dropdown menu.

- Press the “Open” button to the right of the “File:” and “Access:” fields.

- Communicate with the file as required using the Transmit pane.

Settings

Setting | Description | Default |
---|---|---|
File name | Specify the file name to open. | |
Access mode | Access mode for the file, e.g., “Read/Write”, “Read-only”, and “Write-only”. | Read/Write |
Read parallelism | Maximum number of read requests to submit to tdevmon at the same time. Having more than one pending read at a time helps prevent notification loss in IO-intensive scenarios (after filling one user buffer, tdevmon can immediately switch to the next one without any waiting). Increasing this number beyond 4 usually won’t yield any extra gains. |
4 |
Read block size (B) | The size of each individual read block submitted to tdevmon . |
4KB |
RX buffer size (B) | The full size of the incoming data (RX) buffer. Affects read throughput. | 16KB |
TX buffer size (B) | The full size of the outbound data (TX) buffer. Affects write throughput. | 16KB |
Keep read block size | Don’t merge read blocks in RX buffer. Incoming data blocks coming in quick succession can be merged together so that IO Ninja writes them to log as a whole. When this option is set to True , blocks are written to the log without merging, i.e., exactly as they are received from the underlying transport.. |
False |
Keep write block size | Don’t merge write blocks in TX buffer. Outbound data blocks sent in quick succession can be merged together before submission to the underlying transport. When this option is set to True , blocks are submitted to the transport without merging, i.e., exactly as they are sent by the Transmit or Script panes.. |
False |
RX buffer full notifications | Toggle warnings in log about the incoming data (RX) buffer getting full. | False |