class_docstr: An earlier version of this code (#626) was originally developed as part of the following work:
  
  Rabault, J., Kuhnle, A (2019). Accelerating Deep Reinforcement Leaning strategies of Flow
  Control through a multi-environment approach. Physics of Fluids.
code: def remote_receive(cls, connection):
      str_num_bytes = connection.recv(8)
      if len(str_num_bytes) != 8:
          raise TensorforceError.unexpected()
      num_bytes = int(str_num_bytes.decode())
      str_function = b""
      for n in range(num_bytes // cls.MAX_BYTES):
          str_function += connection.recv(cls.MAX_BYTES)
          if len(str_function) != n * cls.MAX_BYTES:
              raise TensorforceError.unexpected()
      str_function += connection.recv(num_bytes % cls.MAX_BYTES)
      if len(str_function) != num_bytes:
          raise TensorforceError.unexpected()
      function = str_function.decode()
  
      str_num_bytes = connection.recv(8)
      if len(str_num_bytes) != 8:
          raise TensorforceError.unexpected()
      num_bytes = int(str_num_bytes.decode())
      str_kwargs = b""
      for n in range(num_bytes // cls.MAX_BYTES):
          str_kwargs += connection.recv(cls.MAX_BYTES)
          if len(str_kwargs) != n * cls.MAX_BYTES:
              raise TensorforceError.unexpected()
      str_kwargs += connection.recv(num_bytes % cls.MAX_BYTES)
      if len(str_kwargs) != num_bytes:
          raise TensorforceError.unexpected()
      kwargs = msgpack.unpackb(packed=str_kwargs)
  
      return function, kwargs
  
file_path: tensorforce/tensorforce/environments/socket_environment.py
imports: from socket import SHUT_RDWR, socket
  import time
  import msgpack
  import msgpack_numpy
  from tensorforce import TensorforceError
  from tensorforce.environments import RemoteEnvironment
label_desc: Use image node_id 6 for calling the SocketEnvironment obj's underlying member method code with example usage: obj.remote_receive(cls, connection) and returns: function,  kwargs