summaryrefslogtreecommitdiffstats
path: root/test/l2test.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-03-23 22:15:09 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-03-23 22:15:09 +0000
commitb357f1d3900bca5575e88fcfc160945c6088608c (patch)
tree9c13d9c72daa6dab919e7ef140a6f6d98f3f5b62 /test/l2test.c
parent6ba87383b2047862686d04db85a4b7e0d1f243ae (diff)
Add options for count and delay
Diffstat (limited to 'test/l2test.c')
-rw-r--r--test/l2test.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/test/l2test.c b/test/l2test.c
index 8ec92395..9a23480a 100644
--- a/test/l2test.c
+++ b/test/l2test.c
@@ -76,6 +76,12 @@ static unsigned short psm = 10;
/* Default number of frames to send (-1 = infinite) */
static int num_frames = -1;
+/* Default number of consecutive frames before the delay */
+static int count = 1;
+
+/* Default delay after sending count number of frames */
+static unsigned long delay = 0;
+
static int flowctl = 0;
static int master = 0;
static int auth = 0;
@@ -579,6 +585,9 @@ static void send_mode(int sk)
syslog(LOG_ERR, "Send failed: %s (%d)", strerror(errno), errno);
exit(1);
}
+
+ if (num_frames && delay && !(seq % count))
+ usleep(delay);
}
syslog(LOG_INFO, "Closing channel ...");
@@ -608,6 +617,9 @@ static void senddump_mode(int sk)
syslog(LOG_ERR, "Send failed: %s (%d)", strerror(errno), errno);
exit(1);
}
+
+ if (num_frames && delay && !(seq % count))
+ usleep(delay);
}
dump_mode(sk);
@@ -682,6 +694,8 @@ static void usage(void)
"\t[-I imtu] [-O omtu]\n"
"\t[-N num] send num frames (default = infinite)\n"
"\t[-L seconds] enable SO_LINGER\n"
+ "\t[-C num] send num frames before delay (default = 1)\n"
+ "\t[-D seconds] delay after sending num frames (default = 0)\n"
"\t[-R] reliable mode\n"
"\t[-G] use connectionless channel (datagram)\n"
"\t[-F] enable flow control\n"
@@ -698,7 +712,7 @@ int main(int argc ,char *argv[])
bacpy(&bdaddr, BDADDR_ANY);
- while ((opt=getopt(argc,argv,"rdscuwmnxyb:i:P:I:O:N:L:RGFAESM")) != EOF) {
+ while ((opt=getopt(argc,argv,"rdscuwmnxyb:i:P:I:O:N:L:C:D:RGFAESM")) != EOF) {
switch(opt) {
case 'r':
mode = RECV;
@@ -772,6 +786,14 @@ int main(int argc ,char *argv[])
linger = atoi(optarg);
break;
+ case 'C':
+ count = atoi(optarg);
+ break;
+
+ case 'D':
+ delay = atoi(optarg) * 1000000;
+ break;
+
case 'R':
reliable = 1;
break;