Sends open message to peer and handles received messages.

        Parameters:
            - `peer`: the peer to which this protocol instance is connected to.

def _run(self, peer):
        """Sends open message to peer and handles received messages.

        Parameters:
            - `peer`: the peer to which this protocol instance is connected to.
        """
        # We know the peer we are connected to, we send open message.
        self._peer = peer
        self.connection_made()

        # We wait for peer to send messages.
        self._recv_loop()