code: def write_to_socket(self, frame_data):
          
          self._wr_lock.acquire()
          try:
              total_bytes_written = 0
              bytes_to_send = len(frame_data)
              while total_bytes_written < bytes_to_send:
                  try:
                      if not self.socket:
                          raise socket.error('connection/socket error')
                      bytes_written = (
                          self.socket.send(frame_data[total_bytes_written:])
                      )
                      if bytes_written == 0:
                          raise socket.error('connection/socket error')
                      total_bytes_written += bytes_written
                  except socket.timeout:
                      pass
                  except socket.error as why:
                      if why.args[0] in (EWOULDBLOCK, EAGAIN):
                          continue
                      self._exceptions.append(AMQPConnectionError(why))
                      return
          finally:
              self._wr_lock.release()
docs: Write data to the socket.
  
          :param str frame_data:
          :return: