parameters: (self, command, channel=Channel.SYNC)
docstring: Append a newline to command and send it, blocking until all data
          has been sent. Calling this directly is only necessary if you
          want to send a command for which there is not already a method
          in this class. You must not send a command on the asynchronous
          channel that produces a response, as the response will be
          consumed by the variable-sampling thread, which will likely
          cause an error. You must ensure the socket is left in a "clean"
          state before calling other methods of this class. If incoming
          data is left on either channel, it is likely to cause other
          methods to fail since they won't get what they're expecting when
          they go to read.
  
          Parameters
          ----------
          command : str
              The command to send.
          channel : Channel
              The channel on which to send. You should almost certainly
              leave this as the default.
docstring_summary: Append a newline to command and send it, blocking until all data
          has been sent. Calling this directly is only necessary if you
          want to send a command for which there is not already a method
          in this class. You must not send a command on the asynchronous
          channel that produces a response, as the response will be
          consumed by the variable-sampling thread, which will likely
          cause an error. You must ensure the socket is left in a "clean"
          state before calling other methods of this class. If incoming
          data is left on either channel, it is likely to cause other
          methods to fail since they won't get what they're expecting when
          they go to read.
docstring_tokens: Append a newline to command and send it blocking until all data has been sent . Calling this directly is only necessary if you want to send a command for which there is not already a method in this class . You must not send a command on the asynchronous channel that produces a response as the response will be consumed by the variable - sampling thread which will likely cause an error . You must ensure the socket is left in a clean state before calling other methods of this class . If incoming data is left on either channel it is likely to cause other methods to fail since they won t get what they re expecting when they go to read .
function: def send(self, command, channel=Channel.SYNC):
          """
          Append a newline to command and send it, blocking until all data
          has been sent. Calling this directly is only necessary if you
          want to send a command for which there is not already a method
          in this class. You must not send a command on the asynchronous
          channel that produces a response, as the response will be
          consumed by the variable-sampling thread, which will likely
          cause an error. You must ensure the socket is left in a "clean"
          state before calling other methods of this class. If incoming
          data is left on either channel, it is likely to cause other
          methods to fail since they won't get what they're expecting when
          they go to read.
  
          Parameters
          ----------
          command : str
              The command to send.
          channel : Channel
              The channel on which to send. You should almost certainly
              leave this as the default.
          """
          command = '{0}\n'.format(command)
  
          for channel in {
            self.Channel.SYNC: [self._synchronous_socket],
            self.Channel.ASYNC: [self._asynchronous_socket],
            self.Channel.BOTH: [self._synchronous_socket,
                                self._asynchronous_socket]
          }[channel]:
              channel.sendall(command.encode())
function_tokens: def send ( self , command , channel = Channel . SYNC ) : command = '{0}\n' . format ( command ) for channel in { self . Channel . SYNC : [ self . _synchronous_socket ] , self . Channel . ASYNC : [ self . _asynchronous_socket ] , self . Channel . BOTH : [ self . _synchronous_socket , self . _asynchronous_socket ] } [ channel ] : channel . sendall ( command . encode ( ) )