f74944e221359f5d3b2fc952630cc106e80deb3e
[bottlenecks.git] / vstf / vstf / common / unix.py
1 import os
2 import socket
3 from vstf.common import constants
4 from vstf.common import message
5
6
7 class UdpServer(object):
8     def __init__(self):
9         super(UdpServer, self).__init__()
10         try:
11             os.unlink(constants.sockaddr)
12         except OSError:
13             if os.path.exists(constants.sockaddr):
14                 raise Exception("socket not found %s" % constants.sockaddr)    
15         self.conn=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)    
16     
17     def listen(self,backlog=5):
18         self.conn.listen(backlog)
19         
20     def accept(self):
21         return self.conn.accept()
22     
23     def bind(self, addr=constants.sockaddr):
24         return self.conn.bind(addr)
25        
26 #     def send(self, data, addr):
27 #         return message.sendto(self.conn.sendto, data, addr)
28         
29 #     def recv(self, size=constants.buff_size):
30 #         return message.recv(self.conn.recvfrom)
31     
32     def close(self):
33         self.conn.close()
34
35
36 class UdpClient(object):
37     def __init__(self):
38         super(UdpClient, self).__init__()
39         if not os.path.exists(constants.sockaddr):
40             raise Exception("socket not found %s" % constants.sockaddr)    
41         self.conn=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
42      
43     def connect(self, addr=constants.sockaddr):
44         return self.conn.connect(addr)
45        
46     def send(self, data):
47         message.send(self.conn.send, data)
48         
49     def recv(self):
50         return message.recv(self.conn.recv)
51     
52     def close(self):
53         self.conn.close()