blob: 52c6118a8986d080aee7424223e92fd20c5d1ac4 [file] [log] [blame]
Mark Sleecde2b612006-09-03 21:13:07 +00001from TTransport import *
2import socket
3
4class TSocket(TTransportBase):
5
6 """Socket implementation of TTransport base."""
7
8 handle = None
9 host = "localhost"
10 port = 9090
11
12 def __init__(self, host, port):
13 self.host = host
14 self.port = port
15 self.handle = None
16
17 def isOpen(self):
18 return handle != None
19
20 def open(self):
21 self.handle = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
22 self.handle.connect((self.host, self.port))
23
24 def close(self):
25 self.handle.close()
26 self.handle = None
27
28 def readAll(self, sz):
29 buff = ''
30 have = 0
31 while (have < sz):
32 chunk = self.read(sz-have)
33 have += len(chunk)
34 buff += chunk
35 return buff
36
37 def read(self, sz):
38 buff = self.handle.recv(sz)
39 return buff
40
41 def write(self, buff):
42 self.handle.sendall(buff)
43
44 def flush(self):
45 pass