2019-02-19 00:47:34 +01:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
2023-01-04 13:43:47 +01:00
|
|
|
comment "psmq requires LOGGING_EMBEDLOG and !DISABLE_MQUEUE"
|
|
|
|
depends on DISABLE_MQUEUE || !LOGGING_EMBEDLOG
|
2021-05-23 22:36:32 +02:00
|
|
|
|
2019-02-19 00:47:34 +01:00
|
|
|
menuconfig SYSTEM_PSMQ
|
2021-05-23 22:36:32 +02:00
|
|
|
bool "psmq"
|
2019-02-19 00:47:34 +01:00
|
|
|
default n
|
2023-01-04 13:43:47 +01:00
|
|
|
depends on !DISABLE_MQUEUE && LOGGING_EMBEDLOG
|
2019-02-19 00:47:34 +01:00
|
|
|
---help---
|
|
|
|
psmq is tool set which allows IPC communication in publish/subscribe way
|
|
|
|
created on top of posix messege queue. Full documentation is available
|
2021-05-23 22:36:32 +02:00
|
|
|
at: https://psmq.bofc.pl (despite the domain, it is in english).
|
2019-02-19 00:47:34 +01:00
|
|
|
|
|
|
|
Library is licensed under BSD 2-clause license. See LICENSE file in
|
|
|
|
the downloaded code for license details.
|
|
|
|
|
|
|
|
if SYSTEM_PSMQ
|
|
|
|
|
|
|
|
config PSMQ_MAX_CLIENTS
|
|
|
|
int "Max number of clients"
|
|
|
|
default 8
|
|
|
|
---help---
|
|
|
|
This defines how many clients single broker process will
|
|
|
|
support. Broker will return error for clients that want to
|
|
|
|
register to it and there are already max clients connected. psmqd
|
2020-02-23 05:51:44 +01:00
|
|
|
will allocate client array with static storage duration that is
|
2019-02-19 00:47:34 +01:00
|
|
|
about 12 bytes (may vary depending on architecture) for each
|
|
|
|
client.
|
|
|
|
|
2021-05-23 22:36:32 +02:00
|
|
|
config PSMQ_MSG_MAX
|
2019-02-19 00:47:34 +01:00
|
|
|
int "Max size of payload"
|
2021-05-23 22:36:32 +02:00
|
|
|
range 6 2147483647
|
|
|
|
default 24
|
2019-02-19 00:47:34 +01:00
|
|
|
---help---
|
2021-05-23 22:36:32 +02:00
|
|
|
Defines maximum size of message that can be sent via psmq.
|
|
|
|
Message consists of topic and payload. Topic is always
|
|
|
|
null-terminated after which payload follows. This allows
|
|
|
|
for some flexibility, ie if PSMQ_MSG_MAX was be 10, then
|
|
|
|
topic could be 3 bytes long and payload 7, but also
|
|
|
|
topic could take 9 bytes and payload only 1.
|
|
|
|
|
|
|
|
This value has direct impact on runtime memory usage by
|
|
|
|
psmq as this increases size of struct that is used when
|
|
|
|
allocating memory for client. This has no impact on
|
|
|
|
number of bytes that are sent because only actual data
|
|
|
|
is sent over mqueue.
|
2019-02-19 00:47:34 +01:00
|
|
|
|
|
|
|
config PSMQD_PRIORITY
|
|
|
|
int "psmqd broker task priority"
|
|
|
|
default 100
|
|
|
|
|
|
|
|
config PSMQD_STACKSIZE
|
|
|
|
int "psmqd broker stack size"
|
2020-03-27 06:10:33 +01:00
|
|
|
default DEFAULT_TASK_STACKSIZE
|
2019-02-19 00:47:34 +01:00
|
|
|
|
|
|
|
config PSMQ_TOOLS_PUB
|
|
|
|
bool "Enable psmq_pub tool"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables program which allows to publish message over psmq directly
|
|
|
|
from command line.
|
|
|
|
|
|
|
|
if PSMQ_TOOLS_PUB
|
|
|
|
|
|
|
|
config PSMQ_PUB_PRIORITY
|
|
|
|
int "psmq_pub broker task priority"
|
|
|
|
default 100
|
|
|
|
|
|
|
|
config PSMQ_PUB_STACKSIZE
|
|
|
|
int "psmq_pub broker stack size"
|
2020-03-27 06:10:33 +01:00
|
|
|
default DEFAULT_TASK_STACKSIZE
|
2019-02-19 00:47:34 +01:00
|
|
|
|
|
|
|
endif # PSMQ_TOOLS_PUB
|
|
|
|
|
|
|
|
config PSMQ_TOOLS_SUB
|
|
|
|
bool "Enable psmq_sub tool"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Enables program which allows to listen to published messages on
|
|
|
|
chosen topics. It also has capabilities to log these messages to
|
|
|
|
a chosen file.
|
|
|
|
|
|
|
|
if PSMQ_TOOLS_SUB
|
|
|
|
|
|
|
|
config PSMQ_SUB_PRIORITY
|
|
|
|
int "psmq_sub broker task priority"
|
|
|
|
default 100
|
|
|
|
|
|
|
|
config PSMQ_SUB_STACKSIZE
|
|
|
|
int "psmq_sub broker stack size"
|
2020-03-27 06:10:33 +01:00
|
|
|
default DEFAULT_TASK_STACKSIZE
|
2019-02-19 00:47:34 +01:00
|
|
|
|
|
|
|
endif # PSMQ_TOOLS_SUB
|
|
|
|
endif # SYSTEM_PSMQ
|