Monkey Documentation

Module regal.networking.socket

This module is used internally to provide several lower-level components, namely, an underlying Socket implementation. More...


Imports:
Classes:

Detailed Discussion

This module is used internally to provide several lower-level components, namely, an underlying Socket implementation. The Socket type, as described throughout lower-level parts of the documentation, can be any type delegated here. This is symbolic, so it's meant as an unrelated handle. For details, read on.


This does not cover a cohesive API across backends, the main purpose of this module is to provide native behavior and "type-consistency" (Names, relations, etc).

Types provided here are symbolic, and should only be used as this document describes. Not following these documents is considered "unsafe", and may result in undefined behavior under some environments. That's not to say there's anything wrong with using technology specific features, but they aren't covered by this ecosystem.

The only exception being types that describe traits that will be the same across environments. For example, NetworkAddress explicitly describes an API usable across internal boundries, and maintains at least a subset of its provided features.

Please take note that normal APIs expecting natively or "portably" (Symbolic) described objects are portable unless stated otherwise. For example, AddressesEqual is a portable component of the API. This means the type, no matter the origin, will be supported. Once again, exact rules and behaviors may need further description.