Melang

Logo

A script language of preemptive scheduling coroutine in single thread

View the Project on GitHub Water-Melon/Melang

Message Queue

This document introduces a set of functions about message queue. Message queue is only working in a coroutine group in the same thread.

There are two kinds of message: queue message and topic message.

Melang supports many coroutines to listen the same queue. If message is a queue message, only one coroutine can get this message. If is topic message, every subscribed coroutine can receive this message.

mln_msgTopicSubscribe

Subscribe a topic message.

@mln_msgTopicSubscribe(qname);

Input:

Return value:

Error:

mln_msgTopicUnsubscribe

Unsubscribe a topic.

@mln_msgTopicUnsubscribe(qname);

Input:

Return value:

Error:

mln_msgQueueSend

Send message to a specified queue.

@mln_msgQueueSend(qname, msg, asTopic);

Input:

Return value:

Error:

mln_msgQueueRecv
@smln_msgQueueRecv(qname, timeout);

Input:

Return value:

Error:

Example
//file a.mln
@mln_msgQueueSend('test', 'hello');
//b.mln
msg = @mln_msgQueueRecv('test');
@mln_print(msg);
$ melang a.mln b.mln

The output is:

hello