1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2026-03-02 04:09:18 +00:00

removes shutdown method (#27)

This commit is contained in:
Falk Werner
2019-04-26 20:51:24 +02:00
committed by GitHub
parent 9130f00289
commit 09df34debc
10 changed files with 46 additions and 81 deletions

View File

@@ -19,16 +19,11 @@ void wf_server_dispose(
wf_impl_server_dispose(server);
}
void wf_server_run(
struct wf_server * server)
void wf_server_service(
struct wf_server * server,
int timeout_ms)
{
wf_impl_server_run(server);
}
void wf_server_shutdown(
struct wf_server * server)
{
wf_impl_server_shutdown(server);
wf_impl_server_service(server, timeout_ms);
}
// server protocol

View File

@@ -13,7 +13,6 @@
#define WF_DISABLE_LWS_LOG 0
#define WF_SERVER_PROTOCOL_COUNT 3
#define WF_SERVER_TIMEOUT (1 * 1000)
struct wf_server
{
@@ -21,7 +20,6 @@ struct wf_server
struct wf_server_protocol protocol;
struct lws_protocols ws_protocols[WF_SERVER_PROTOCOL_COUNT];
struct lws_context * context;
volatile bool shutdown_requested;
struct lws_http_mount mount;
struct lws_context_creation_info info;
};
@@ -109,7 +107,6 @@ struct wf_server * wf_impl_server_create(
if (NULL != server)
{
wf_impl_server_protocol_init(&server->protocol, config->mount_point);
server->shutdown_requested = false;
wf_impl_server_config_clone(config, &server->config);
wf_impl_authenticators_move(&server->config.authenticators, &server->protocol.authenticators);
server->context = wf_impl_server_context_create(server);
@@ -128,19 +125,9 @@ void wf_impl_server_dispose(
free(server);
}
void wf_impl_server_run(
struct wf_server * server)
void wf_impl_server_service(
struct wf_server * server,
int timeout_ms)
{
int n = 0;
while ((0 <= n) && (!server->shutdown_requested))
{
n = lws_service(server->context, WF_SERVER_TIMEOUT);
}
lws_service(server->context, timeout_ms);
}
void wf_impl_server_shutdown(
struct wf_server * server)
{
server->shutdown_requested = true;
}

View File

@@ -15,11 +15,9 @@ extern struct wf_server * wf_impl_server_create(
extern void wf_impl_server_dispose(
struct wf_server * server);
extern void wf_impl_server_run(
struct wf_server * server);
extern void wf_impl_server_shutdown(
struct wf_server * server);
extern void wf_impl_server_service(
struct wf_server * server,
int timeout_ms);
#ifdef __cplusplus
}

View File

@@ -206,16 +206,11 @@ void wfp_client_dispose(
wfp_impl_client_dispose(client);
}
void wfp_client_run(
struct wfp_client * client)
void wfp_client_service(
struct wfp_client * client,
int timeout_ms)
{
wfp_impl_client_run(client);
}
void wfp_client_shutdown(
struct wfp_client * client)
{
wfp_impl_client_shutdown(client);
wfp_impl_client_service(client, timeout_ms);
}
// dirbuffer

View File

@@ -14,11 +14,9 @@
#define WFP_PROTOCOL ("fs")
#define WFP_DISABLE_LWS_LOG 0
#define WFP_CLIENT_PROTOCOL_COUNT 2
#define WFP_CLIENT_TIMEOUT (1 * 1000)
struct wfp_client
{
volatile bool is_running;
struct wfp_client_protocol protocol;
struct lws_context_creation_info info;
struct lws_protocols protocols[WFP_CLIENT_PROTOCOL_COUNT];
@@ -36,7 +34,6 @@ struct wfp_client * wfp_impl_client_create(
struct wfp_client * client = malloc(sizeof(struct wfp_client));
if (NULL != client)
{
client->is_running = true;
wfp_impl_client_protocol_init(&client->protocol, &config->provider, config->user_data);
memset(client->protocols, 0, sizeof(struct lws_protocols) * WFP_CLIENT_PROTOCOL_COUNT);
@@ -102,18 +99,10 @@ void wfp_impl_client_disconnect(
// ToDo: implement me
}
void wfp_impl_client_run(
struct wfp_client * client)
void wfp_impl_client_service(
struct wfp_client * client,
int timeout_ms)
{
while (client->is_running)
{
lws_service(client->context, WFP_CLIENT_TIMEOUT);
}
}
void wfp_impl_client_shutdown(
struct wfp_client * client)
{
client->is_running = false;
lws_service(client->context, timeout_ms);
}

View File

@@ -34,12 +34,9 @@ extern void wfp_impl_client_settimeout(
extern void wfp_impl_client_dispose(
struct wfp_client * client);
extern void wfp_impl_client_run(
struct wfp_client * client);
extern void wfp_impl_client_shutdown(
struct wfp_client * client);
extern void wfp_impl_client_service(
struct wfp_client * client,
int timeout_ms);
#ifdef __cplusplus
}