Summary Of Classes


This section lists and describes the C++ classes found in the Communications <ToolKits>. Trivial classes and helper classes are not listed. The prefix os_ is used by most classes to avoid name conflicts with other vendors' class names and differentiates them from ANSI/ISO classes.


IO<ToolKit> Classes

os_adapter a smart-pointer mechanism used to manage universal device adapters.
os_buffer an efficient, auto-grow, memory buffer.
os_buffer_device an interface for memory buffers (os_buffer).
os_cache a specialized device that provides efficient, buffered I/O for all os_adapter-supported devices. This class can be used to improve the performance of slow or non-buffered devices. By chaining an os_cache into the stream, users can control the buffering policies independent of the device.
os_cache_device an interface for caches (os_cache).
os_device a generic device interface that supports a wide variety of communication mechanisms, including files, sockets, and named pipes. Designed for easy adaptation to your industry-specific devices.
os_io_control manipulates values commonly used in the creation and use of I/O objects.
os_io_status obtains and manages the status of I/O objects.
os_io_toolkit provides automatic initialization of IO<ToolKit>.
os_io_toolkit_error represents an error condition in IO<ToolKit>.
os_open_control manipulates values commonly used in the creation of I/O objects.

Streaming<ToolKit> Classes

os_ascii ASCII Data Representation protocol that provides a readable data stream useful for debugging and performance tuning.
os_bstream the Universal Stream Service (USS) interface that provides portable, non-intrusive object transport and persistence. Works with all os_adapter-supported devices and protocols that use the os_protocol interface.
os_fstream_device an interface for ANSI/ISO fstream.
os_iostream_device an interface for generic ANSI/ISO iostream.
os_istream_device an interface for generic ANSI/ISO istream.
os_itstream provides an ANSI/ISO input stream (istream) for all os_adapter-supported devices.
os_ndr an implementation of the industry-standard Network Data Representation (NDR) protocol.
os_ostream_device interface for generic ANSI/ISO ostream.
os_otstream provides an ANSI/ISO output stream (ostream) for all os_adapter-supported devices.
os_protocol a base class that defines communication protocol interfaces. Designed to be extensible. Developers can easily add support for new protocols.
os_streaming_toolkit provides automatic initialization of Streaming<ToolKit>.
os_streaming_toolkit_error represents an error condition in Streaming<ToolKit>.
os_tstream an ANSI/ISO IOStream interface for all os_adapter-supported devices. Provides text streaming capabilities to sockets, named pipes, and other unconventional communication mechanisms.

File<ToolKit> Classes

os_directory a directory or folder in a file system.
os_file a portable file.
os_file_device a generic interface for os_file to use with os_adapter.
os_file_lock a lock for all or part of a file; protects files from concurrent access.
os_file_system a file system that stores files and directories.
os_file_toolkit provides automatic initialization of File<ToolKit>.
os_file_toolkit_error represents an error condition in File<ToolKit>.
os_path a file name, file path, or directory path with abstractions required for portability between operating systems and for simple path manipulation.

Pipe<ToolKit> Classes

os_pipe a portable pipe providing reliable, connection-oriented, point-to-point communication.
os_pipe_connection_server accepts incoming requests for pipe connections.
os_pipe_device a generic interface for os_pipe to use with os_adapter.
os_pipe_toolkit provides automatic initialization of Pipe<ToolKit>.
os_pipe_toolkit_error represents an error condition in Pipe<ToolKit>.

Network<ToolKit> Classes

os_host represents an Internet host.
os_ip_address represents and manipulates an Internet protocol (IP) address.
os_service represents an Internet service.
os_socket_address represents and manipulates a socket address.
os_tcp_connection_server accepts incoming requests for TCP socket connections.
os_tcp_socket a TCP socket, or stream socket, that provides reliable, connection-oriented, point-to-point communication between a server socket and a client socket.
os_udp_socket a UDP socket (also called a datagram socket). A datagram is a single packet of information sent from one socket to another. The sender socket must know the address of the destination socket. Datagram sockets provide unreliable, connectionless communication.
os_io_multiplexer monitors a set of I/O descriptors for pending operations.
os_tcp_socket_device a generic interface for os_tcp_socket to use with os_adapter.
os_network_toolkit provides automatic initialization of Network<ToolKit>.
os_network_toolkit_error represents an error condition in Network<ToolKit>.

Security<ToolKit> Classes

os_group represents a group.
os_security_toolkit provides automatic initialization of Security<ToolKit>.
os_security_toolkit_error represents an error condition in Security<ToolKit>.
os_user represents a user.

Framework<ToolKit> Classes

os_singleton templatized Singleton pattern that adorns other objects, without requiring modification to the original class.
os_observable templatized Observer pattern that adorns other objects, without requiring modification to the original class.
os_handler_stream provides a TCP socket stream.
os_same_thread_executor provides a same thread execution concurrency strategy.
os_new_thread_executor provides a new thread execution concurrency strategy.
os_thread_pool_executor provides a thread pool execution concurrency strategy.
os_creator creates a new object on the heap and returns it.
os_tcp_acceptor accepts requests for TCP socket connections and initiate service handlers.
os_tcp_connector provides connection initiation and service handler execution.
os_dispatcher provides I/O event dispatching.
os_framework_toolkit provides automatic initialization of Framework<ToolKit>.
os_framework_toolkit_error represents an error condition in Framework<ToolKit>.

Copyright©1994-2026 Recursion Software LLC
All Rights Reserved - For use by licensed users only.