mirror of
https://github.com/falk-werner/webfuse-provider
synced 2026-03-02 04:09:18 +00:00
moved message and message_queue to common library
This commit is contained in:
@@ -1,24 +0,0 @@
|
||||
#include "wsfs/adapter/message.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <libwebsockets.h>
|
||||
|
||||
struct wsfs_message * wsfs_message_create(size_t length)
|
||||
{
|
||||
char * data = malloc(sizeof(struct wsfs_message) + LWS_PRE + length);
|
||||
struct wsfs_message * message = (struct wsfs_message *) data;
|
||||
if (NULL != message)
|
||||
{
|
||||
message->data = &data[sizeof(struct wsfs_message) + LWS_PRE];
|
||||
message->length = length;
|
||||
message->next = NULL;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
void wsfs_message_dispose(
|
||||
struct wsfs_message * message)
|
||||
{
|
||||
free(message);
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
#ifndef WSFS_MESSAGE_H
|
||||
#define WSFS_MESSAGE_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#include <stddef.h>
|
||||
#else
|
||||
#include <cstddef>
|
||||
using std::size_t;
|
||||
#endif
|
||||
|
||||
struct wsfs_message
|
||||
{
|
||||
struct wsfs_message * next;
|
||||
char * data;
|
||||
size_t length;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
extern struct wsfs_message * wsfs_message_create(size_t length);
|
||||
|
||||
extern void wsfs_message_dispose(
|
||||
struct wsfs_message * message);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,63 +0,0 @@
|
||||
#include "wsfs/adapter/message_queue.h"
|
||||
#include "wsfs/adapter/message.h"
|
||||
|
||||
void wsfs_message_queue_init(
|
||||
struct wsfs_message_queue * queue)
|
||||
{
|
||||
queue->first = NULL;
|
||||
queue->last = NULL;
|
||||
|
||||
}
|
||||
|
||||
void wsfs_message_queue_cleanup(
|
||||
struct wsfs_message_queue * queue)
|
||||
{
|
||||
struct wsfs_message * message = queue->first;
|
||||
while (NULL != message)
|
||||
{
|
||||
struct wsfs_message * next = message->next;
|
||||
wsfs_message_dispose(message);
|
||||
message = next;
|
||||
}
|
||||
wsfs_message_queue_init(queue);
|
||||
}
|
||||
|
||||
bool wsfs_message_queue_empty(
|
||||
struct wsfs_message_queue * queue)
|
||||
{
|
||||
return (NULL == queue->first);
|
||||
}
|
||||
|
||||
void wsfs_message_queue_push(
|
||||
struct wsfs_message_queue * queue,
|
||||
struct wsfs_message * message)
|
||||
{
|
||||
message->next = NULL;
|
||||
|
||||
if (NULL != queue->last)
|
||||
{
|
||||
queue->last->next = message;
|
||||
queue->last = message;
|
||||
}
|
||||
else
|
||||
{
|
||||
queue->first = message;
|
||||
queue->last = message;
|
||||
}
|
||||
}
|
||||
|
||||
struct wsfs_message * wsfs_message_queue_pop(
|
||||
struct wsfs_message_queue * queue)
|
||||
{
|
||||
struct wsfs_message * const result = queue->first;
|
||||
if (NULL != result)
|
||||
{
|
||||
queue->first = queue->first->next;
|
||||
if (NULL == queue->first)
|
||||
{
|
||||
queue->last = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
#ifndef WSFS_MESSAGE_QUEUE_H
|
||||
#define WSFS_MESSAGE_QUEUE_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
|
||||
struct wsfs_message_queue;
|
||||
struct wsfs_message;
|
||||
|
||||
struct wsfs_message_queue
|
||||
{
|
||||
struct wsfs_message * first;
|
||||
struct wsfs_message * last;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
extern void wsfs_message_queue_init(
|
||||
struct wsfs_message_queue * queue);
|
||||
|
||||
extern void wsfs_message_queue_cleanup(
|
||||
struct wsfs_message_queue * queue);
|
||||
|
||||
extern bool wsfs_message_queue_empty(
|
||||
struct wsfs_message_queue * queue);
|
||||
|
||||
extern void wsfs_message_queue_push(
|
||||
struct wsfs_message_queue * queue,
|
||||
struct wsfs_message * message);
|
||||
|
||||
extern struct wsfs_message * wsfs_message_queue_pop(
|
||||
struct wsfs_message_queue * queue);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -3,10 +3,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <libwebsockets.h>
|
||||
|
||||
#include "wsfs/adapter/message.h"
|
||||
#include "wsfs/adapter/filesystem.h"
|
||||
#include "wsfs/message.h"
|
||||
#include "wsfs/util.h"
|
||||
|
||||
#include "wsfs/adapter/filesystem.h"
|
||||
|
||||
static int wsfs_server_protocol_callback(
|
||||
struct lws * wsi,
|
||||
enum lws_callback_reasons reason,
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#ifndef WSFS_SERVER_PROTOCOL_INTERN_H
|
||||
#define WSFS_SERVER_PROTOCOL_INTERN_H
|
||||
|
||||
#include "wsfs/message_queue.h"
|
||||
|
||||
#include "wsfs/adapter/server_protocol.h"
|
||||
#include "wsfs/adapter/filesystem.h"
|
||||
#include "wsfs/adapter/message_queue.h"
|
||||
#include "wsfs/adapter/jsonrpc/server.h"
|
||||
#include "wsfs/adapter/time/timeout_manager.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user