Module: HotCell
- Defined in:
- lib/hot_cell/clock.rb,
lib/hot_cell/codes.rb,
lib/hot_cell/errors.rb,
lib/hot_cell/fields.rb,
lib/hot_cell/naming.rb,
lib/hot_cell/failure.rb,
lib/hot_cell/payload.rb,
lib/hot_cell/request.rb,
lib/hot_cell/protocol.rb,
lib/hot_cell/response.rb,
lib/hot_cell/connection.rb,
lib/hot_cell/descriptors.rb,
lib/hot_cell/core/version.rb,
lib/hot_cell/declarations.rb,
lib/hot_cell/test_support.rb
Defined Under Namespace
Modules: Clock, Codes, Declarations, Fields, Naming, Payload, TestSupport Classes: AccessModeError, CellNotConfigured, ConfigurationError, Connection, Descriptor, Error, Failure, Input, MessageError, Output, ReadTimeout, Request, Response, SerializationError, UnregisteredCell
Constant Summary collapse
- PROTOCOL_VERSION =
Checked, never negotiated. A cell answers
protocolto anything else, which is transient rather than a bug: during a rolling deploy the app moves before the accessory reboots, so every request mismatches until it does. 1- MAX_REQUEST_BYTES =
A request is a control message from the trusted side, and the worker parses it before it has narrowed to the operation's limits. Capping it is what bounds that parse.
8192- MAX_RESPONSE_BYTES =
A response carries metadata rather than bytes, so this is generous rather than tight.
65_536- MAX_DESCRIPTORS =
The kernel caps SCM_RIGHTS at 253 descriptors per message. Nothing here wants more than a handful.
16- MAX_NESTING =
Nesting depth of a whole message line. Deep symbolization walks the structure, so this is what bounds the recursion.
8- DESCRIBE =
The two operations a cell answers on control.sock rather than work.sock. The names live here because both sides need them and neither owns them.
"hotcell.describe"- METRICS =
"hotcell.metrics"- CONTROL_OPERATIONS =
[ DESCRIBE, METRICS ].freeze
- VERSION =
"0.1.0"