diff options
Diffstat (limited to 'testsuites/vstf/vstf_scripts/vstf/common/unix.py')
-rw-r--r-- | testsuites/vstf/vstf_scripts/vstf/common/unix.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/testsuites/vstf/vstf_scripts/vstf/common/unix.py b/testsuites/vstf/vstf_scripts/vstf/common/unix.py new file mode 100644 index 00000000..97582c74 --- /dev/null +++ b/testsuites/vstf/vstf_scripts/vstf/common/unix.py @@ -0,0 +1,62 @@ +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import os +import socket +from vstf.common import constants +from vstf.common import message + + +class UdpServer(object): + def __init__(self): + super(UdpServer, self).__init__() + try: + os.unlink(constants.sockaddr) + except OSError: + if os.path.exists(constants.sockaddr): + raise Exception("socket not found %s" % constants.sockaddr) + self.conn=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + + def listen(self,backlog=5): + self.conn.listen(backlog) + + def accept(self): + return self.conn.accept() + + def bind(self, addr=constants.sockaddr): + return self.conn.bind(addr) + +# def send(self, data, addr): +# return message.sendto(self.conn.sendto, data, addr) + +# def recv(self, size=constants.buff_size): +# return message.recv(self.conn.recvfrom) + + def close(self): + self.conn.close() + + +class UdpClient(object): + def __init__(self): + super(UdpClient, self).__init__() + if not os.path.exists(constants.sockaddr): + raise Exception("socket not found %s" % constants.sockaddr) + self.conn=socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + + def connect(self, addr=constants.sockaddr): + return self.conn.connect(addr) + + def send(self, data): + message.send(self.conn.send, data) + + def recv(self): + return message.recv(self.conn.recv) + + def close(self): + self.conn.close()
\ No newline at end of file |