INNER CODE UNIT · Python
payload_size
ImFeH2/huddol · core/src/fora/adapters/websocket/server.py:37
def payload_size(value: Any, available: int) -> int:
size = sys.getsizeof(value)
if size > available:
return size
if isinstance(value, dict):
for key, item in value.items():
size += payload_size(key, available - size)
if size > available:
return size
size += payload_size(item, available - size)
if size > available:
return size
elif isinstance(value, (list, tuple)):
for item in value:
size += payload_size(item, available - size)
if size > available:
return size
return size