Source code for ray.rllib.env.external.rllink

from enum import Enum
from packaging.version import Version

from ray.rllib.utils.checkpoints import try_import_msgpack
from ray.util.annotations import DeveloperAPI


msgpack = None














def _get_num_bytes(sock_, num_bytes):
    """Helper function to receive a specific number of bytes."""
    data = b""
    while len(data) < num_bytes:
        packet = sock_.recv(num_bytes - len(data))
        if not packet:
            raise ConnectionError(f"No data received from socket {sock_}!")
        data += packet
    return data