parameters: (self, sock, data)
return_statement: return await fut
docstring: Send data to the socket.
  
          The socket must be connected to a remote socket. This method continues
          to send data from data until either all data has been sent or an
          error occurs. None is returned on success. On error, an exception is
          raised, and there is no way to determine how much data, if any, was
          successfully processed by the receiving end of the connection.
docstring_summary: Send data to the socket.
docstring_tokens: Send data to the socket .
function: async def sock_sendall(self, sock, data):
          """Send data to the socket.
  
          The socket must be connected to a remote socket. This method continues
          to send data from data until either all data has been sent or an
          error occurs. None is returned on success. On error, an exception is
          raised, and there is no way to determine how much data, if any, was
          successfully processed by the receiving end of the connection.
          """
          _check_ssl_socket(sock)
          if self._debug and sock.gettimeout() != 0:
              raise ValueError("the socket must be non-blocking")
          fut = self.create_future()
          if data:
              self._sock_sendall(fut, None, sock, data)
          else:
              fut.set_result(None)
          return await fut
function_tokens: async def sock_sendall ( self , sock , data ) : _check_ssl_socket ( sock ) if self . _debug and sock . gettimeout ( ) != 0 : raise ValueError ( "the socket must be non-blocking" ) fut = self . create_future ( ) if data : self . _sock_sendall ( fut , None , sock , data ) else : fut . set_result ( None ) return await fut