def sendmsg(self, data, padding = None, ttl = -1, inorder = False): """ In non-blocking mode this will raise an exception, in blocking mode (default) the call will wait on freed buffer space. :param data Data to be written :type data str() :param padding Set a specified size the data should be written onto. eg: len(data) => 45 padding = 64, data would be sent as |45 bytes data|19 byte bzero| :type padding int() :param ttl Time to live for the message in ms : -1 is infinite ie: garuanteed arrival :type ttl int() :param inorder Guarantee UDP messages will be received in the order they were sent. :type inorder bool() """ if None == padding: return udt4.sendmsg(self.__sock, data, len(data)) else: return udt4.sendmsg(self.__sock, data, len(data), padding)
def sendmsg(self, data, padding=None, ttl=-1, inorder=False): """ In non-blocking mode this will raise an exception, in blocking mode (default) the call will wait on freed buffer space. :param data Data to be written :type data str() :param padding Set a specified size the data should be written onto. eg: len(data) => 45 padding = 64, data would be sent as |45 bytes data|19 byte bzero| :type padding int() :param ttl Time to live for the message in ms : -1 is infinite ie: garuanteed arrival :type ttl int() :param inorder Guarantee UDP messages will be received in the order they were sent. :type inorder bool() """ if None == padding: return udt4.sendmsg(self.__sock, data, len(data)) else: return udt4.sendmsg(self.__sock, data, len(data), padding)
def test0(sock): """ Send a basic message """ print('server: test0') message = 'message in a bottle' if mode == 'DGRAM': udt4.sendmsg(sock, struct.pack('I', len(message)), 4) udt4.sendmsg(sock, message, len(message)) else: udt4.send(sock, struct.pack('I', len(message)), 4) udt4.send(sock, message, len(message))
def test1(sock): """ Send a basic message on a padded size, this is useful if you might be sending serialized data where the receiver already has a fixed buffer prepared """ print('server: test1') pad = 64 msg = 'words are only words except when they are not' print(pad) if mode == 'DGRAM': udt4.sendmsg(sock, struct.pack('I', pad), 4) udt4.sendmsg(sock, msg, pad) else: udt4.send(sock, struct.pack('I', pad), 4) udt4.send(sock, msg, pad)
def runTest(self): Thread(target=self.runServer).start() udt.connect(self.recevr, '127.0.0.1', 8002) for k, i in enumerate([('a', 1), ('b', 2), ('c', 3)]): buf = i[0] * (10**i[1]) if k % 2 != 0: self.assertEquals(udt.sendmsg(self.recevr, buf, len(buf)), len(buf)) else: self.assertEquals(udt.recvmsg(self.recevr, len(buf)), buf)
def runServer(self): udt.bind(self.sender, '127.0.0.1', 8002) udt.listen(self.sender, 10) client, host = udt.accept(self.sender) for k, i in enumerate([('a', 1), ('b', 2), ('c', 3)]): buf = i[0] * (10**i[1]) if k % 2 == 0: self.assertEquals(udt.sendmsg(client, buf, len(buf)), len(buf)) else: self.assertEquals(udt.recvmsg(client, len(buf)), buf)
def runTest(self): Thread(target = self.runServer).start() udt.connect(self.recevr, '127.0.0.1', 8002) for k, i in enumerate([('a', 1), ('b', 2), ('c', 3)]): buf = i[0] * (10 ** i[1]) if k % 2 != 0: self.assertEquals( udt.sendmsg(self.recevr, buf, len(buf)), len(buf) ) else: self.assertEquals( udt.recvmsg(self.recevr, len(buf)), buf )
def runServer(self): udt.bind (self.sender, '127.0.0.1', 8002) udt.listen(self.sender, 10) client, host = udt.accept(self.sender) for k, i in enumerate([('a', 1), ('b', 2), ('c', 3)]): buf = i[0] * (10 ** i[1]) if k % 2 == 0: self.assertEquals( udt.sendmsg(client, buf, len(buf)), len(buf) ) else: self.assertEquals( udt.recvmsg(client, len(buf)), buf )