The Conexus::Endpoint class embodies the concepts of a generic I/O communicator, and conceptually is very close to a socket. However, the inheritance hierarchy imposed allows classes that derive from Conexus::Endpoint to leverage polymorphic behavior.
An endpoint serves to abstract the details of communication. Various APIs such as the BSD Socket API, POSIX File I/O API, pcap (Packet Capture) library API each have their own syntax and mechanisms for communication. The following shows several communication mechanisms and a sampling of the knowledge (functions, ioctls, etc.) associated with each mechanism.
Example communication mechanisms and sampling of functions, ioctls etc. associated with each mechanism
An endpoint abstracts many, but not all, I/O concepts. Children of Conexus::Endpoint are responsible for mechanism specifics.
An endpoint supports the following generic communication mechanisms: