ecal.configs.protocol_configs¶
OSI-layer protocol energy parameters used by
ecal.calculators.transmission.Transmission to estimate the energy
cost of sending data across a network stack.
Each OSI layer (application, presentation, session, transport, network,
data link, physical) has a dictionary mapping protocol name to a
LayerProtocol describing that protocol’s overhead and per-bit
energy cost.
Classes
|
Protocol metrics for a single layer. |
- class ecal.configs.protocol_configs.LayerProtocol(name, data_plane_overhead, control_plane_overhead, base_energy_per_bit_sender, base_energy_per_bit_receiver, Niot, Piot, Ngateway, Pgateway)[source]¶
Bases:
objectProtocol metrics for a single layer.
- Parameters:
name (str) – Protocol name (e.g. “HTTP”, “TCP”, “IPv4”).
data_plane_overhead (float) – Data-plane overhead ratio — fraction of extra bits added on top of the payload for framing/formatting at this layer.
control_plane_overhead (float) – Control-plane overhead ratio — fraction of extra bits added for control messages/handshakes at this layer.
base_energy_per_bit_sender (float) – Energy consumed per bit by the sender (Joules/bit).
base_energy_per_bit_receiver (float) – Energy consumed per bit by the receiver (Joules/bit).
Niot (int) – Number of IoT nodes contributing to this layer’s energy draw.
Piot (float) – Power draw per IoT node (watts).
Ngateway (int) – Number of gateway nodes contributing to this layer’s energy draw.
Pgateway (float) – Power draw per gateway node (watts).