acl/lib_acl/samples/msg/main.c
zsxxsz cf2528eb7c 完善了非阻塞IO的SSL功能;将 samples 移到 lib_acl 目录下
完善了非阻塞IO的SSL功能;将 acl/samples/ 下的示例分别移到 lib_acl 及 lib_protocol 目录下
2014-11-30 21:15:35 +08:00

60 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include "aqueue.h"
#include "netio.h"
#include "pipeio.h"
#include "unixio.h"
static void usage(const char *procname)
{
printf("usage: %s -h[help] -n max_loop -m all|aqueue|netio|pipeio|unixio\r\n", procname);
}
int main(int argc, char *argv[])
{
char ch;
int max = 0;
char method[24];
method[0] = 0;
while ((ch = getopt(argc, argv, "hn:m:")) > 0) {
switch (ch) {
case 'h':
usage(argv[0]);
return (0);
case 'n':
max = atoi(optarg);
break;
case 'm':
snprintf(method, sizeof(method), "%s", optarg);
break;
default:
break;
}
}
if (method[0] == 0) {
usage(argv[0]);
return (0);
}
if (strcasecmp(method, "netio") == 0)
netio_run(max);
else if (strcasecmp(method, "aqueue") == 0)
aqueue_run(max);
else if (strcasecmp(method, "pipeio") == 0)
pipeio_run(max);
else if (strcasecmp(method, "unixio") == 0)
unixio_run(max);
else if (strcasecmp(method, "all") == 0) {
netio_run(max);
aqueue_run(max);
pipeio_run(max);
unixio_run(max);
} else
usage(argv[0]);
return (0);
}