/* SILC Net API tests */
-#include "silcincludes.h"
+#include "silc.h"
SilcSchedule schedule;
typedef struct {
SilcFSM fsm;
- SilcFSMSemaStruct sema;
+ SilcFSMEventStruct sema;
SilcFSMThreadStruct thread;
- SilcNetServer server;
+ SilcNetListener server;
SilcStream client_stream;
SilcNetStatus client_status;
SilcStream server_stream;
SILC_LOG_DEBUG(("Accepted new connection"));
f->client_status = status;
f->client_stream = stream;
- SILC_FSM_SEMA_POST(&f->sema);
+ SILC_FSM_EVENT_SIGNAL(&f->sema);
}
static void test_connected(SilcNetStatus status, SilcStream stream,
SILC_LOG_DEBUG(("test_st_start"));
SILC_LOG_DEBUG(("Creating network listener"));
- f->server = silc_net_create_server(NULL, 0, 5000, FALSE,
+ f->server = silc_net_tcp_create_listener(NULL, 0, 5000, TRUE, TRUE,
silc_fsm_get_schedule(fsm),
test_accept_connection, f);
if (!f->server) {
/** Start waiting connection */
SILC_LOG_DEBUG(("Start waiting for incoming connections"));
- silc_fsm_sema_init(&f->sema, fsm, 0);
+ silc_fsm_event_init(&f->sema, fsm);
silc_fsm_next(fsm, test_st_second);
return SILC_FSM_CONTINUE;
}
SILC_LOG_DEBUG(("test_st_second"));
- SILC_FSM_SEMA_WAIT(&f->sema);
+ SILC_FSM_EVENT_WAIT(&f->sema);
if (f->client_status != SILC_NET_OK) {
/** Accepting new connection failed */
silc_socket_stream_get_info(f->client_stream, NULL, &host, &ip, &port);
SILC_LOG_DEBUG(("Accepted new connection %s, %s:%d", host, ip, port));
- /** Finish */
+ /** Wait thread to terminate */
f->success = TRUE;
silc_fsm_next(fsm, test_st_finish);
- return SILC_FSM_CONTINUE;
+ SILC_FSM_THREAD_WAIT(&f->thread);
}
SILC_FSM_STATE(test_st_finish)
}
SILC_LOG_DEBUG(("Closing network listener"));
- silc_net_close_server(f->server);
+ silc_net_close_listener(f->server);
SILC_LOG_DEBUG(("Finish machine"));
return SILC_FSM_FINISH;