示例#1
0
    def __init__(self, server, connection_id, socket, address):
        super(ConnectionThread, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        self.fs = None
示例#2
0
class ConnectionThread(threading.Thread):
    
    def __init__(self, server, connection_id, socket, address):
        super(ConnectionThread, self).__init__()
        self.server = server
        self.connection_id = connection_id        
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address        
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)        
    
        self._lock = threading.RLock()
        self.socket_error = None
            
        self.fs = None        
    
    def run(self):
        self.transport.write('pyfs/1.0\n')
        while True:
            try:
                data = self.transport.read(4096)
            except socket.error, socket_error:
                print socket_error
                self.socket_error = socket_error
                break
            print "data", repr(data)
            if data: 
                for packet in self.decoder.feed(data):                            
                    print repr(packet)
                    self.on_packet(*packet)
            else:
                break            
        self.on_connection_close()
示例#3
0
class ConnectionThread(threading.Thread):
    def __init__(self, server, connection_id, socket, address):
        super(ConnectionThread, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        self.fs = None

    def run(self):
        self.transport.write('pyfs/1.0\n')
        while True:
            try:
                data = self.transport.read(4096)
            except socket.error, socket_error:
                print socket_error
                self.socket_error = socket_error
                break
            print "data", repr(data)
            if data:
                for packet in self.decoder.feed(data):
                    print repr(packet)
                    self.on_packet(*packet)
            else:
                break
        self.on_connection_close()
示例#4
0
 def __init__(self, server, connection_id, socket, address):
     super(ConnectionThread, self).__init__()
     self.server = server
     self.connection_id = connection_id        
     self.socket = socket
     self.transport = _SocketFile(socket)
     self.address = address        
     self.encoder = JSONFileEncoder(self.transport)
     self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)        
 
     self._lock = threading.RLock()
     self.socket_error = None
         
     self.fs = None        
示例#5
0
    def __init__(self, server, connection_id, socket, address):
        super(ConnectionHandlerBase, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        if not self._methods:
            for method_name in dir(self):
                method = getattr(self, method_name)
                if callable(method) and hasattr(method, '_remote_call_names'):
                    for name in method._remote_call_names:

                        self._methods[name] = method

        print self._methods

        self.fs = None
示例#6
0
class ConnectionHandlerBase(threading.Thread):

    _methods = {}

    def __init__(self, server, connection_id, socket, address):
        super(ConnectionHandlerBase, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        if not self._methods:
            for method_name in dir(self):
                method = getattr(self, method_name)
                if callable(method) and hasattr(method, '_remote_call_names'):
                    for name in method._remote_call_names:

                        self._methods[name] = method

        print self._methods

        self.fs = None

    def run(self):
        self.transport.write('pyfs/1.0\n')
        while True:
            try:
                data = self.transport.read(4096)
            except socket.error, socket_error:
                print socket_error
                self.socket_error = socket_error
                break
            print "data", repr(data)
            if data:
                for packet in self.decoder.feed(data):
                    print repr(packet)
                    self.on_packet(*packet)
            else:
                break
        self.on_connection_close()
示例#7
0
class ConnectionHandlerBase(threading.Thread):

    _methods = {}

    def __init__(self, server, connection_id, socket, address):
        super(ConnectionHandlerBase, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        if not self._methods:
            for method_name in dir(self):
                method = getattr(self, method_name)
                if callable(method) and hasattr(method, '_remote_call_names'):
                    for name in method._remote_call_names:

                        self._methods[name] = method

        print self._methods

        self.fs = None

    def run(self):
        self.transport.write('pyfs/1.0\n')
        while True:
            try:
                data = self.transport.read(4096)
            except socket.error, socket_error:
                print socket_error
                self.socket_error = socket_error
                break
            print "data", repr(data)
            if data:
                for packet in self.decoder.feed(data):
                    print repr(packet)
                    self.on_packet(*packet)
            else:
                break
        self.on_connection_close()
示例#8
0
    def __init__(self, server, connection_id, socket, address):
        super(ConnectionHandlerBase, self).__init__()
        self.server = server
        self.connection_id = connection_id
        self.socket = socket
        self.transport = _SocketFile(socket)
        self.address = address
        self.encoder = JSONFileEncoder(self.transport)
        self.decoder = JSONDecoder(prelude_callback=self.on_stream_prelude)

        self._lock = threading.RLock()
        self.socket_error = None

        if not self._methods:
            for method_name in dir(self):
                method = getattr(self, method_name)
                if callable(method) and hasattr(method, '_remote_call_names'):
                    for name in method._remote_call_names:

                        self._methods[name] = method

        print self._methods

        self.fs = None