mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Updated tests for tcponudp. Only some of these tests are still valid.
the TOU interface no longer supports multiple sockets.. all the connections are attached to the same UdpStack. Multiple sockets will be re-introduced in the next TOU iteration. At that point the remaining tests will be fixed up. * tweaked regress.mk * added scripts to launch tests. * replaced UdpLayer with UdpStacks. * only two proper tests: udp_server (passes), test_tou (fails) git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
3c19218bec
commit
4e56166e3f
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
testoutputfiles = $(foreach tt,$(1),$(tt).tstout)
|
testoutputfiles = $(foreach tt,$(1),$(tt).tstout)
|
||||||
|
|
||||||
%.tstout : %.sh
|
%.tstout : %.sh %
|
||||||
-sh ./$< > $@ 2>&1
|
-sh ./$< > $@ 2>&1
|
||||||
|
|
||||||
%.tstout : %
|
%.tstout : %
|
||||||
|
@ -5,26 +5,30 @@ DHT_TOP_DIR = ../../../../libbitdht/src
|
|||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
include $(RS_TOP_DIR)/scripts/config.mk
|
include $(RS_TOP_DIR)/tests/scripts/config.mk
|
||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
BIOOBJ = bss_tou.o
|
#BIOOBJ = bss_tou.o
|
||||||
|
|
||||||
RSOBJ = tou_net.o udplayer.o udpsorter.o udptestfn.o extaddrfinder.o
|
#RSOBJ = tou_net.o udplayer.o udpsorter.o udptestfn.o extaddrfinder.o
|
||||||
RSOBJ += tcppacket.o tcpstream.o tou.o $(BIOOBJ)
|
#RSOBJ += tcppacket.o tcpstream.o tou.o $(BIOOBJ)
|
||||||
|
|
||||||
EXECS = librs udpsock_test udpsort_test udp_server
|
OBJ = udptestfn.o
|
||||||
#test_tou pair_tou reset_tou internal_tou largefile_tou
|
|
||||||
|
EXECS = udpsock_test udpsort_test udp_server test_tou
|
||||||
|
#pair_tou reset_tou internal_tou largefile_tou
|
||||||
|
|
||||||
TESTOBJ = udpsock_test.o udpsort_test.o udp_server.o test_tou.o
|
TESTOBJ = udpsock_test.o udpsort_test.o udp_server.o test_tou.o
|
||||||
TESTOBJ += pair_tou.o reset_tou.o largefile_tou.o
|
#TESTOBJ += pair_tou.o reset_tou.o largefile_tou.o
|
||||||
#internal_tou.o
|
#internal_tou.o
|
||||||
|
|
||||||
TESTS = udpsock_test udpsort_test udp_server test_tou
|
TESTS = udpsock_test udpsort_test udp_server test_tou
|
||||||
TESTS += pair_tou reset_tou largefile_tou
|
# Unfortunately the design of tou has changed over time.
|
||||||
|
# and these tests cannot be performed at the moment.
|
||||||
|
#TESTS += pair_tou reset_tou largefile_tou
|
||||||
#internal_tou
|
#internal_tou
|
||||||
|
|
||||||
all: librs tests
|
all: tests
|
||||||
|
|
||||||
udpsock_test : $(OBJ) udpsock_test.o
|
udpsock_test : $(OBJ) udpsock_test.o
|
||||||
$(CC) $(CFLAGS) -o udpsock_test udpsock_test.o $(OBJ) $(LIBS)
|
$(CC) $(CFLAGS) -o udpsock_test udpsock_test.o $(OBJ) $(LIBS)
|
||||||
@ -56,6 +60,8 @@ largefile_tou : $(OBJ) largefile_tou.o
|
|||||||
$(BIOCC) $(BIOCFLAGS) -c $<
|
$(BIOCC) $(BIOCFLAGS) -c $<
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
include $(RS_TOP_DIR)/scripts/rules.mk
|
include $(RS_TOP_DIR)/tests/scripts/rules.mk
|
||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
|
CFLAGS += -DRS_USE_BITDHT -I$(DHT_TOP_DIR)
|
||||||
|
|
||||||
|
@ -27,17 +27,18 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
//#define USE_TCP_SOCKET
|
//#define USE_TCP_SOCKET
|
||||||
|
|
||||||
// for printing sockaddr
|
// for printing sockaddr
|
||||||
#include "udplayer.h"
|
#include "udp/udpstack.h"
|
||||||
|
|
||||||
#ifndef USE_TCP_SOCKET
|
#ifndef USE_TCP_SOCKET
|
||||||
#include "tou.h"
|
#include "tcponudp/tou.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "tou_net.h"
|
#include "util/bdnet.h"
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@ -99,8 +100,6 @@ int main(int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
tounet_init();
|
|
||||||
|
|
||||||
/* setup the local/remote addresses.
|
/* setup the local/remote addresses.
|
||||||
*/
|
*/
|
||||||
struct sockaddr_in laddr;
|
struct sockaddr_in laddr;
|
||||||
@ -109,8 +108,8 @@ int main(int argc, char **argv)
|
|||||||
laddr.sin_family = AF_INET;
|
laddr.sin_family = AF_INET;
|
||||||
raddr.sin_family = AF_INET;
|
raddr.sin_family = AF_INET;
|
||||||
|
|
||||||
if ((!tounet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
if ((!bdnet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
||||||
(!tounet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
(!bdnet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
||||||
{
|
{
|
||||||
std::cerr << "Invalid addresses!" << std::endl;
|
std::cerr << "Invalid addresses!" << std::endl;
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@ -122,6 +121,9 @@ int main(int argc, char **argv)
|
|||||||
std::cerr << "Local Address: " << laddr << std::endl;
|
std::cerr << "Local Address: " << laddr << std::endl;
|
||||||
std::cerr << "Remote Address: " << raddr << std::endl;
|
std::cerr << "Remote Address: " << raddr << std::endl;
|
||||||
|
|
||||||
|
UdpStack udps(laddr);
|
||||||
|
tou_init((void *) &udps);
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_TCP_SOCKET
|
#ifdef USE_TCP_SOCKET
|
||||||
int sockfd = socket(PF_INET, SOCK_STREAM, 0);
|
int sockfd = socket(PF_INET, SOCK_STREAM, 0);
|
||||||
@ -284,8 +286,8 @@ int main(int argc, char **argv)
|
|||||||
char data[bufsize];
|
char data[bufsize];
|
||||||
int readsize = 0;
|
int readsize = 0;
|
||||||
|
|
||||||
tounet_fcntl(0, F_SETFL, O_NONBLOCK);
|
bdnet_fcntl(0, F_SETFL, O_NONBLOCK);
|
||||||
tounet_fcntl(1,F_SETFL,O_NONBLOCK);
|
bdnet_fcntl(1,F_SETFL,O_NONBLOCK);
|
||||||
|
|
||||||
bool doneWrite = false;
|
bool doneWrite = false;
|
||||||
bool doneRead = false;
|
bool doneRead = false;
|
||||||
|
@ -27,14 +27,15 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
//#define USE_TCP_SOCKET
|
//#define USE_TCP_SOCKET
|
||||||
|
|
||||||
// for printing sockaddr
|
// for printing sockaddr
|
||||||
#include "udplayer.h"
|
#include "udp/udpstack.h"
|
||||||
|
|
||||||
#ifndef USE_TCP_SOCKET
|
#ifndef USE_TCP_SOCKET
|
||||||
#include "tou.h"
|
#include "tcponudp/tou.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* shouldn't do this - but for convenience
|
/* shouldn't do this - but for convenience
|
||||||
@ -44,7 +45,7 @@
|
|||||||
* This includes the whole networking interface
|
* This includes the whole networking interface
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tou_net.h"
|
#include "util/bdnet.h"
|
||||||
|
|
||||||
/* These three includes appear to work in both W & L.
|
/* These three includes appear to work in both W & L.
|
||||||
* and they shouldn't!!!! maybe cygwin is allowing it...
|
* and they shouldn't!!!! maybe cygwin is allowing it...
|
||||||
@ -109,7 +110,6 @@ int main(int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
tounet_init();
|
|
||||||
|
|
||||||
/* setup the local/remote addresses.
|
/* setup the local/remote addresses.
|
||||||
*/
|
*/
|
||||||
@ -119,8 +119,8 @@ int main(int argc, char **argv)
|
|||||||
laddr.sin_family = AF_INET;
|
laddr.sin_family = AF_INET;
|
||||||
raddr.sin_family = AF_INET;
|
raddr.sin_family = AF_INET;
|
||||||
|
|
||||||
if ((!tounet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
if ((!bdnet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
||||||
(!tounet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
(!bdnet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
||||||
{
|
{
|
||||||
std::cerr << "Invalid addresses!" << std::endl;
|
std::cerr << "Invalid addresses!" << std::endl;
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@ -132,6 +132,8 @@ int main(int argc, char **argv)
|
|||||||
std::cerr << "Local Address: " << laddr << std::endl;
|
std::cerr << "Local Address: " << laddr << std::endl;
|
||||||
std::cerr << "Remote Address: " << raddr << std::endl;
|
std::cerr << "Remote Address: " << raddr << std::endl;
|
||||||
|
|
||||||
|
UdpStack udps(laddr);
|
||||||
|
tou_init((void *) &udps);
|
||||||
|
|
||||||
#ifdef USE_TCP_SOCKET
|
#ifdef USE_TCP_SOCKET
|
||||||
int sockfd = socket(PF_INET, SOCK_STREAM, 0);
|
int sockfd = socket(PF_INET, SOCK_STREAM, 0);
|
||||||
@ -153,7 +155,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
/* make nonblocking */
|
/* make nonblocking */
|
||||||
#ifdef USE_TCP_SOCKET
|
#ifdef USE_TCP_SOCKET
|
||||||
int err = tounet_fcntl(sockfd,F_SETFL,O_NONBLOCK);
|
int err = bdnet_fcntl(sockfd,F_SETFL,O_NONBLOCK);
|
||||||
#else
|
#else
|
||||||
int err = 0;
|
int err = 0;
|
||||||
#endif
|
#endif
|
||||||
@ -168,17 +170,23 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
#ifdef USE_TCP_SOCKET
|
#ifdef USE_TCP_SOCKET
|
||||||
err = bind(sockfd, (struct sockaddr *) &laddr, sizeof(laddr));
|
err = bind(sockfd, (struct sockaddr *) &laddr, sizeof(laddr));
|
||||||
#else
|
|
||||||
err = tou_bind(sockfd, (struct sockaddr *) &laddr, sizeof(laddr));
|
|
||||||
#endif
|
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
{
|
{
|
||||||
std::cerr << "Error: Cannot bind socket: ";
|
std::cerr << "Error: Cannot bind socket: ";
|
||||||
std::cerr << err << std::endl;
|
std::cerr << err << std::endl;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cerr << "Socket Bound to: " << laddr << std::endl;
|
std::cerr << "Socket Bound to: " << laddr << std::endl;
|
||||||
|
#else
|
||||||
|
err = tou_bind(sockfd, (struct sockaddr *) &laddr, sizeof(laddr));
|
||||||
|
if (err < 0)
|
||||||
|
{
|
||||||
|
std::cerr << "As expected, cannot bind a tou socket";
|
||||||
|
std::cerr << err << std::endl;
|
||||||
|
//return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (toConnect)
|
if (toConnect)
|
||||||
{
|
{
|
||||||
@ -264,15 +272,15 @@ int main(int argc, char **argv)
|
|||||||
char buffer[bufsize];
|
char buffer[bufsize];
|
||||||
int readsize = 0;
|
int readsize = 0;
|
||||||
|
|
||||||
tounet_fcntl(0, F_SETFL, O_NONBLOCK);
|
bdnet_fcntl(0, F_SETFL, O_NONBLOCK);
|
||||||
|
|
||||||
bool done = false;
|
bool done = false;
|
||||||
bool blockread = false;
|
bool blockread = false;
|
||||||
while(!done)
|
while(!done)
|
||||||
{
|
{
|
||||||
sleep(1);
|
//sleep(1);
|
||||||
//usleep(10000);
|
//usleep(10000);
|
||||||
//usleep(1000);
|
usleep(100);
|
||||||
if (blockread != true)
|
if (blockread != true)
|
||||||
{
|
{
|
||||||
readsize = read(0, buffer, bufsize);
|
readsize = read(0, buffer, bufsize);
|
||||||
@ -317,18 +325,28 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
std::cerr << "Transfer Complete: " << totalwbytes << " bytes";
|
std::cerr << "Transfer Complete: " << totalwbytes << " bytes";
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
// ACTUALLY tou_close() is not blocking...
|
||||||
|
// and kills the connection instantly.
|
||||||
|
// The transfer will fail if there is any data left in the send queue (which there is in most cases).
|
||||||
|
// Interestingly.. if we slow the transmit and speed up the recv,
|
||||||
|
// Then it can succeed.
|
||||||
|
//
|
||||||
|
// The settings are done to make this fail.
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* recv data */
|
/* recv data */
|
||||||
int bufsize = 1523;
|
int bufsize = 1523;
|
||||||
char data[bufsize];
|
char data[bufsize];
|
||||||
tounet_fcntl(1,F_SETFL,O_NONBLOCK);
|
bdnet_fcntl(1,F_SETFL,O_NONBLOCK);
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
sleep(1);
|
//sleep(1);
|
||||||
//usleep(10000);
|
//usleep(10000);
|
||||||
//usleep(1000);
|
//usleep(1000);
|
||||||
|
usleep(100);
|
||||||
int writesize = bufsize;
|
int writesize = bufsize;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -26,18 +26,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "udplayer.h"
|
#include "udp/udpstack.h"
|
||||||
#include "tcpstream.h"
|
#include "tcponudp/udppeer.h"
|
||||||
|
#include "tcponudp/tcpstream.h"
|
||||||
|
#include "tcponudp/tou.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
/* unix only
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "tou_net.h"
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -94,7 +89,6 @@ int main(int argc, char **argv)
|
|||||||
/* setup the local/remote addresses.
|
/* setup the local/remote addresses.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
tounet_init();
|
|
||||||
|
|
||||||
struct sockaddr_in laddr;
|
struct sockaddr_in laddr;
|
||||||
struct sockaddr_in raddr;
|
struct sockaddr_in raddr;
|
||||||
@ -102,8 +96,8 @@ int main(int argc, char **argv)
|
|||||||
laddr.sin_family = AF_INET;
|
laddr.sin_family = AF_INET;
|
||||||
raddr.sin_family = AF_INET;
|
raddr.sin_family = AF_INET;
|
||||||
|
|
||||||
if ((!tounet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
if ((!bdnet_inet_aton(argv[optind], &(laddr.sin_addr))) ||
|
||||||
(!tounet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
(!bdnet_inet_aton(argv[optind+2], &(raddr.sin_addr))))
|
||||||
{
|
{
|
||||||
std::cerr << "Invalid addresses!" << std::endl;
|
std::cerr << "Invalid addresses!" << std::endl;
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
@ -115,16 +109,18 @@ int main(int argc, char **argv)
|
|||||||
std::cerr << "Local Address: " << laddr << std::endl;
|
std::cerr << "Local Address: " << laddr << std::endl;
|
||||||
std::cerr << "Remote Address: " << raddr << std::endl;
|
std::cerr << "Remote Address: " << raddr << std::endl;
|
||||||
|
|
||||||
UdpSorter udps(laddr);
|
UdpStack udps(laddr);
|
||||||
|
UdpPeerReceiver *upr = new UdpPeerReceiver(&udps);
|
||||||
|
udps.addReceiver(upr);
|
||||||
|
|
||||||
if (!udps.okay())
|
if (!udps.okay())
|
||||||
{
|
{
|
||||||
std::cerr << "UdpSorter not Okay (Cannot Open Local Address): " << laddr << std::endl;
|
std::cerr << "UdpSorter not Okay (Cannot Open Local Address): " << laddr << std::endl;
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TcpStream tcp(upr);
|
||||||
TcpStream tcp(&udps);
|
upr->addUdpPeer(&tcp, raddr);
|
||||||
udps.addUdpPeer(&tcp, raddr);
|
|
||||||
|
|
||||||
if (toConnect)
|
if (toConnect)
|
||||||
{
|
{
|
||||||
@ -157,15 +153,15 @@ int main(int argc, char **argv)
|
|||||||
char buffer[bufsize];
|
char buffer[bufsize];
|
||||||
int readsize = 0;
|
int readsize = 0;
|
||||||
|
|
||||||
tounet_fcntl(0, F_SETFL, O_NONBLOCK);
|
bdnet_fcntl(0, F_SETFL, O_NONBLOCK);
|
||||||
|
|
||||||
bool done = false;
|
bool done = false;
|
||||||
bool blockread = false;
|
bool blockread = false;
|
||||||
while(!done)
|
while(!done)
|
||||||
{
|
{
|
||||||
//sleep(1);
|
//sleep(1);
|
||||||
usleep(100000);
|
//usleep(100000);
|
||||||
//usleep(1000);
|
usleep(1000);
|
||||||
if (blockread != true)
|
if (blockread != true)
|
||||||
{
|
{
|
||||||
readsize = read(0, buffer, bufsize);
|
readsize = read(0, buffer, bufsize);
|
||||||
@ -219,7 +215,7 @@ int main(int argc, char **argv)
|
|||||||
/* recv data */
|
/* recv data */
|
||||||
int bufsize = 1523;
|
int bufsize = 1523;
|
||||||
char data[bufsize];
|
char data[bufsize];
|
||||||
tounet_fcntl(1,F_SETFL,O_NONBLOCK);
|
bdnet_fcntl(1,F_SETFL,O_NONBLOCK);
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
//sleep(1);
|
//sleep(1);
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "udptestfn.h"
|
#include "udptestfn.h"
|
||||||
#include "udplayer.h"
|
#include "udp/udplayer.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#define MAX_PEERS 16
|
#define MAX_PEERS 16
|
||||||
|
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "udptestfn.h"
|
#include "udptestfn.h"
|
||||||
#include "udpsorter.h"
|
#include "udp/udpstack.h"
|
||||||
|
#include "tcponudp/udppeer.h"
|
||||||
|
|
||||||
#define MAX_PEERS 16
|
#define MAX_PEERS 16
|
||||||
|
|
||||||
@ -58,7 +59,9 @@ int main(int argc, char **argv)
|
|||||||
std::cerr << argv[0] << " Local Port: " << ntohs(local.sin_port);
|
std::cerr << argv[0] << " Local Port: " << ntohs(local.sin_port);
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
UdpSorter udps(local);
|
UdpStack udps(local);
|
||||||
|
UdpPeerReceiver *upr = new UdpPeerReceiver(&udps);
|
||||||
|
udps.addReceiver(upr);
|
||||||
|
|
||||||
for(i = 2; i < argc; i++)
|
for(i = 2; i < argc; i++)
|
||||||
{
|
{
|
||||||
@ -68,7 +71,7 @@ int main(int argc, char **argv)
|
|||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
UdpPeerTest *pt = new UdpPeerTest(peers[i-2]);
|
UdpPeerTest *pt = new UdpPeerTest(peers[i-2]);
|
||||||
udps.addUdpPeer(pt, peers[i-2]);
|
upr->addUdpPeer(pt, peers[i-2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int size = 12;
|
int size = 12;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include "udptestfn.h"
|
#include "udptestfn.h"
|
||||||
|
|
||||||
void UdpRecvTest::recvPkt(void *data, int size, struct sockaddr_in &from)
|
int UdpRecvTest::recvPkt(void *data, int size, struct sockaddr_in &from)
|
||||||
{
|
{
|
||||||
/* print packet information */
|
/* print packet information */
|
||||||
std::cerr << "UdpRecvTest::recvPkt(" << size << ") from: " << from;
|
std::cerr << "UdpRecvTest::recvPkt(" << size << ") from: " << from;
|
||||||
|
@ -23,8 +23,11 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "udplayer.h"
|
#include "udp/udplayer.h"
|
||||||
#include "udpsorter.h"
|
#include "udp/udpstack.h"
|
||||||
|
#include "tcponudp/udppeer.h"
|
||||||
|
|
||||||
|
//#include "udpsorter.h"
|
||||||
|
|
||||||
#ifndef TOU_UDP_TEST_FN_H
|
#ifndef TOU_UDP_TEST_FN_H
|
||||||
#define TOU_UDP_TEST_FN_H
|
#define TOU_UDP_TEST_FN_H
|
||||||
@ -32,7 +35,8 @@
|
|||||||
class UdpRecvTest: public UdpReceiver
|
class UdpRecvTest: public UdpReceiver
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void recvPkt(void *data, int size, struct sockaddr_in &from);
|
virtual int recvPkt(void *data, int size, struct sockaddr_in &from);
|
||||||
|
virtual int status(std::ostream&) { return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user