A CLI for diffent kinds of message queues.
Find a file
2021-07-08 14:13:59 +02:00
.gitea/issue_template Issue templates for gitea 2021-06-20 18:16:19 +02:00
src Remove unneccessary pub declarations 2021-07-08 14:13:59 +02:00
sysvmq Implement deletion of SysV IPC message queues 2021-07-07 20:48:07 +02:00
.gitignore Initial commit 2021-06-14 03:05:23 +02:00
Cargo.lock Implement creation of SysV IPC message queues 2021-07-07 20:31:16 +02:00
Cargo.toml Implement creation of SysV IPC message queues 2021-07-07 20:31:16 +02:00
INSTALL.md Move install section into its own file 2021-07-07 19:40:14 +02:00
mqrs.1 Implement deletion of SysV IPC message queues 2021-07-07 20:48:07 +02:00
README.md Implement deletion of SysV IPC message queues 2021-07-07 20:48:07 +02:00

mqrs

mqrs is a small cli application to handle POSIX message queues.

Install mqrs

For information about how to build, install and run mqrs please see INSTALL.md.

Using mqrs

Depending on which backend you want to use there are different subsets of subcommands. Following backends are supported:

  • posix: Uses POSIX message queues
  • sysv: Uses SysV IPC message queues

If a command is clearly distinguishable from all the others, it does not have to be completed further.

POSIX message queues

The POSIX backend supports six commands: create, info, list, unlink, send and recv.

Create a message queue

Use the create command to create a new POSIX message queue. Following optional arguments are supported:

  • -c, --capacity: Maximum number of messages in the queue
  • -m, --mode: Permissions (octal) to create the queue with
  • -s, --msgsize: Message size in bytes

Print information about a message queue

Use the info command to print further information about a message queue.

List all message queues

Use the list command to print a list of all message queues. Following option argument is supported:

  • -a, --all: Print all available information

Delete a message queue

Use the unlink command to delete a message queue.

Send a message to a queue

Use the send command to send a message to a message queue. Following optional arguments are supported:

  • -n, --non-blocking: Do not block
  • -d, --deadline <deadline>: Deadline until messages are sent (format: %Y-%m-%d %H:%M:%S)
  • -p, --priority <priority>: Set a different priority than default, priority >= 0 [default: 0]
  • -o, --timeout <timeout>: As for example in "5h 23min 42ms"

Receive a message from a queue

Use the recv command to receive one or more messages from a message queue. Following optional arguments are supported:

  • -f, --follow: Print messages as they are received
  • -n, --non-blocking: Do not block
  • -t, --timestamp: Print a timestamp before each message
  • -d, --deadline <deadline>: Deadline until messages are received (format: %Y-%m-%d %H:%M:%S)
  • -o, --timeout <timeout>: As for example in "5h 23min 42ms"

SysV IPC message queues

The SysV IPC backend supports two commands: create and unlink.

Create a message queue

Use the create command to create a new SysV IPC message queue. Following optional arguments are supported:

  • -m, --mode: Permissions (octal) to create the queue with. Default: 0644.

Delete a message queue

Use the unlink command to delete a message queue. This can either be done by providing a key or an id of the queue:

  • -i, --id <id>: Id of the queue
  • -k, --key <key>: Key of the queue