Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions src/server/communication/message_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ class MessageData:
received_timestamp = None
avg_speed = None
latency = None
synthetic_latency = None
payload_size = None
offloading_layer_index = None
layer_output = None
Expand Down Expand Up @@ -59,16 +58,9 @@ def get_bytes_size(payload) -> int:
return len(payload)

@staticmethod
def get_synthetic_latency() -> float:
return 1

@staticmethod
def get_avg_speed(
payload_size: float, latency: float, synthetic_latency: float
) -> float:
message_latency = latency * synthetic_latency
def get_avg_speed(payload_size: float, latency: float) -> float:
try:
avg_speed = payload_size / message_latency
avg_speed = payload_size / latency
except ZeroDivisionError:
avg_speed = 0
return avg_speed
Expand Down
2 changes: 0 additions & 2 deletions src/server/communication/request_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -858,14 +858,12 @@ def _extend_message_data(
# update stats info
message_data.received_timestamp = received_timestamp
message_data.payload_size = MessageData.get_bytes_size(payload)
message_data.synthetic_latency = MessageData.get_synthetic_latency()
message_data.latency = MessageData.get_latency(
message_data.timestamp, message_data.received_timestamp
)
message_data.avg_speed = MessageData.get_avg_speed(
message_data.payload_size,
message_data.latency,
message_data.synthetic_latency,
)
# update offloading info
(
Expand Down
26 changes: 26 additions & 0 deletions tests/unit/test_message_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,29 @@ def test_get_latency_annotation_matches_return_type():
annotations = get_type_hints(MessageData.get_latency)

assert annotations["return"] is float


def test_get_avg_speed_divides_payload_size_by_latency():
avg_speed = MessageData.get_avg_speed(payload_size=100.0, latency=2.0)

assert avg_speed == 50.0


def test_get_avg_speed_handles_zero_latency():
avg_speed = MessageData.get_avg_speed(payload_size=100.0, latency=0.0)

assert avg_speed == 0


def test_get_synthetic_latency_placeholder_was_removed():
message_data = MessageData(
topic="t",
payload="p",
device_id=1,
message_id=1,
message_content="{}",
timestamp="0",
)

assert not hasattr(MessageData, "get_synthetic_latency")
assert not hasattr(message_data, "synthetic_latency")
Loading