machinarium: define queue api

This commit is contained in:
Dmitry Simonenko 2017-05-22 14:01:58 +03:00
parent 23e4cfcc32
commit 7f275249f2
5 changed files with 36 additions and 0 deletions

View File

@ -17,6 +17,7 @@ set(machine_src mm_thread.c
mm_msg_pool.c
mm_msg.c
mm_channel.c
mm_queue.c
mm_tls.c
mm_tls_io.c
mm_io.c

View File

@ -27,6 +27,7 @@ typedef void (*machine_function_t)(void *arg);
typedef void* machine_t;
typedef void* machine_msg_t;
typedef void* machine_channel_t;
typedef void* machine_queue_t;
typedef void* machine_tls_t;
typedef void* machine_io_t;
@ -109,6 +110,20 @@ machine_channel_write(machine_channel_t, machine_msg_t);
MACHINE_API machine_msg_t
machine_channel_read(machine_channel_t, int time_ms);
/* queue */
MACHINE_API machine_queue_t
machine_queue_create(void);
MACHINE_API void
machine_queue_free(machine_queue_t);
MACHINE_API void
machine_queue_write(machine_queue_t, machine_msg_t);
MACHINE_API machine_msg_t
machine_queue_read(machine_queue_t, int time_ms);
/* tls */
MACHINE_API machine_tls_t

View File

@ -62,6 +62,7 @@
#include "mm.h"
#include "mm_channel.h"
#include "mm_queue.h"
#include "mm_tls.h"
#include "mm_tls_io.h"

9
src/mm_queue.c Normal file
View File

@ -0,0 +1,9 @@
/*
* machinarium.
*
* cooperative multitasking engine.
*/
#include <machinarium.h>
#include <machinarium_private.h>

10
src/mm_queue.h Normal file
View File

@ -0,0 +1,10 @@
#ifndef MM_QUEUE_H_
#define MM_QUEUE_H_
/*
* machinarium.
*
* cooperative multitasking engine.
*/
#endif