Exemplo n.º 1
0
    def handle_stream(self, stream, address, server):
        print 'Connection from', address

        # send version
        yield gen.Task(self.send_version, stream)

        msg_stream = MessageStream(stream, self.serializer, self.io_loop)
        client = ClientHandler(msg_stream, address, self.tracker, self.auth)
        self.tracker.add(client)
        client.handshake()
Exemplo n.º 2
0
    def handshake(self, stream):
        self.stream = MessageStream(stream, self.serializer, self.io_loop)
        self.stream.set_close_callback(self.on_close)
        # read version
        print 'waiting for version'
        response = yield gen.Task(self._accept_handshake)
        self.mediator_version = response['version']
        print "Protocol Version:", self.mediator_version

        if not response['is_supported_version']:
            raise IOError("Unsupported version of server. Update builder? (got: %d; expected: %d)" % (
                self.mediator_version, self.serializer.version,
            ))

        self.delegate.handshake(self)