'Read data from the socket.
Store a copy in the receive queue.
Arguments:
Placeholders. Same as for socket.recv.'

def recv(self, *args, **kwargs):

    data = self.socket.recv(*args, **kwargs)
    with self.recv_queue_lock:
        self.recv_queue.put(data)
    return data
