diff options
| author | 2011-02-11 16:58:38 +0100 | |
|---|---|---|
| committer | 2011-02-11 16:58:38 +0100 | |
| commit | 06770f0d50f928c2807fe60e4864519f40490089 (patch) | |
| tree | 2c46ed894c2e7499555c17894331409bfd6bc5ed /module/remote/thriftbackend/Socket.py | |
| parent | closed #239 (diff) | |
| download | pyload-06770f0d50f928c2807fe60e4864519f40490089.tar.xz | |
socket code fixes
Diffstat (limited to 'module/remote/thriftbackend/Socket.py')
| -rw-r--r-- | module/remote/thriftbackend/Socket.py | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/module/remote/thriftbackend/Socket.py b/module/remote/thriftbackend/Socket.py new file mode 100644 index 000000000..6ee850d07 --- /dev/null +++ b/module/remote/thriftbackend/Socket.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- + +import socket + +from thrift.transport.TSocket import TSocket, TServerSocket, TTransportException + + +class Socket(TSocket): +    def __init__(self, host='localhost', port=7228, ssl=False): +        TSocket.__init__(self, host, port) +        self.ssl = ssl + +    def open(self): +        self.handle = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +        self.handle.settimeout(self._timeout) +        self.handle.connect((self.host, self.port)) + + +class ServerSocket(TServerSocket, Socket): +    def __init__(self, port=7228, host="0.0.0.0", key="", cert=""): +        self.host = host +        self.port = port +        self.handle = None + +    def listen(self): +        self.handle = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +        self.handle.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) +        if hasattr(self.handle, 'set_timeout'): +          self.handle.set_timeout(None) +        self.handle.bind((self.host, self.port)) +        self.handle.listen(128)
\ No newline at end of file  | 
