PIP 5.6.1
Platform-Independent Primitives
Files | Classes
IO-Utils

Packetized transport, transfer helpers and connection utilities. More...

Files

file  pibasetransfer.h
 Base class for reliable packet sessions with acknowledgements, pause and resume.
 
file  pibroadcast.h
 Multi-interface UDP broadcast, multicast and loopback helper.
 
file  piconnection.h
 Connection routing helper built on shared devices and packet filters.
 
file  pidatatransfer.h
 Class for send and receive PIByteArray via PIBaseTransfer.
 
file  pidiagnostics.h
 Connection quality diagnostics.
 
file  piethutilbase.h
 Base helper for optional crypt layer in IO-Utils transports.
 
file  pifiletransfer.h
 Class for sending and receiving files and directories via PIBaseTransfer.
 
file  piioutilsmodule.h
 Public include header for the IO-Utils module.
 
file  pipackedtcp.h
 Packet-oriented TCP device built on top of PIStreamPacker.
 
file  pipacketextractor.h
 Packet extraction helper for byte-stream devices.
 
file  piparsehelper.h
 Key-dispatch helper for deserializing packets into callbacks.
 
file  pistreampacker.h
 Packet framing helper for byte-stream devices.
 

Classes

class  PIBaseTransfer
 Base transport for reliable fixed-size packet exchange over an external channel. More...
 
class  PIBroadcast
 Multi-channel sender and receiver over multicast, broadcast and loopback endpoints. More...
 
class  PIConnection
 Routes data between shared devices, packet extractors, channels and periodic senders. More...
 
class  PIDataTransfer
 Class for send and receive PIByteArray via PIBaseTransfer. More...
 
class  PIDiagnostics
 Connection diagnostics for packet frequency, throughput and receive quality This class provides connection quality diagnostics based on packet reception statistics. More...
 
class  PIEthUtilBase
 Base helper that adds optional packet encryption to transport utilities. More...
 
class  PIFileTransfer
 Class for sending and receiving files and directories via PIBaseTransfer. More...
 
class  PIPackedTCP
 TCP device wrapper that exposes framed packets through the PIIODevice API.The PIPackedTCP class provides a TCP client/server device with automatic data packing/unpacking using PIStreamPacker. It supports both client and server roles with reliable byte-stream transmission over TCP connections. More...
 
class  PIPacketExtractor
 Extracts packets from data produced by a child PIIODevice. The PIPacketExtractor class provides packet recognition from data stream using various algorithms. More...
 
class  PIParseHelper< Key >
 Maps packet keys to handlers and deserializes payloads before invocation. More...
 
class  PIStreamPackerConfig
 Configuration for PIStreamPacker packet framing. More...
 
class  PIStreamPacker
 Simple packet wrapper around any PIIODevice Provides packet framing and deframing for data transmission over any PIIODevice implementation. More...
 

Detailed Description

Packetized transport, transfer helpers and connection utilities.

Building with CMake

find_package(PIP REQUIRED)
target_link_libraries([target] PIP::IOUtils)
Common

The module combines packet framing, connection helpers, transfer helpers and parsing utilities built on top of PIP I/O devices. This module provides comprehensive I/O utilities including file transfer, connection management, packet extraction, and diagnostics.

Authors

Ivan Pelipenko peri4.nosp@m.ko@y.nosp@m.andex.nosp@m..ru; Andrey Bychkov work..nosp@m.a.b@.nosp@m.yande.nosp@m.x.ru;