nuttx-apps/system/psmq/Kconfig
2023-01-05 21:42:15 +08:00

99 lines
2.7 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
comment "psmq requires LOGGING_EMBEDLOG and !DISABLE_MQUEUE"
depends on DISABLE_MQUEUE || !LOGGING_EMBEDLOG
menuconfig SYSTEM_PSMQ
bool "psmq"
default n
depends on !DISABLE_MQUEUE && LOGGING_EMBEDLOG
---help---
psmq is tool set which allows IPC communication in publish/subscribe way
created on top of posix messege queue. Full documentation is available
at: https://psmq.bofc.pl (despite the domain, it is in english).
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
will allocate client array with static storage duration that is
about 12 bytes (may vary depending on architecture) for each
client.
config PSMQ_MSG_MAX
int "Max size of payload"
range 6 2147483647
default 24
---help---
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.
config PSMQD_PRIORITY
int "psmqd broker task priority"
default 100
config PSMQD_STACKSIZE
int "psmqd broker stack size"
default DEFAULT_TASK_STACKSIZE
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"
default DEFAULT_TASK_STACKSIZE
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"
default DEFAULT_TASK_STACKSIZE
endif # PSMQ_TOOLS_SUB
endif # SYSTEM_PSMQ