Use only single thread for handling polling of the sockets. Each client will have only 1 active socket which to poll. Each client can have multiple simultaneous requests ongoing. The client only has one buffer for receiving and one buffer for sending. Therefore the messages are reformed when resending. Signed-off-by: Jarno Lämsä <jarno.lamsa@nordicsemi.no>
157 lines
4.5 KiB
Plaintext
157 lines
4.5 KiB
Plaintext
# CoAP implementation for Zephyr
|
|
|
|
# Copyright (c) 2017 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config COAP
|
|
bool "CoAP Support"
|
|
help
|
|
This option enables the CoAP implementation.
|
|
|
|
|
|
if COAP
|
|
|
|
# This setting is only used by unit test. Do not enable it in applications
|
|
config COAP_TEST_API_ENABLE
|
|
bool "Test API for CoAP unit tests"
|
|
help
|
|
Do not enable this for normal use.
|
|
|
|
config COAP_WELL_KNOWN_BLOCK_WISE
|
|
bool "CoAP ./well-known/core services block wise support"
|
|
help
|
|
This option enables the block wise support of CoAP response
|
|
to ./well-known/core request. Without this option all resource's
|
|
information will be sent in a single IP packet (can be multiple
|
|
fragments depends on MTU size). This will be useful in mesh kind
|
|
of networks.
|
|
|
|
config COAP_WELL_KNOWN_BLOCK_WISE_SIZE
|
|
int "CoAP ./well-known/core services block wise support"
|
|
default 32
|
|
depends on COAP_WELL_KNOWN_BLOCK_WISE
|
|
help
|
|
Maximum size of CoAP block. Valid values are 16, 32, 64, 128,
|
|
256, 512 and 1024.
|
|
|
|
config COAP_EXTENDED_OPTIONS_LEN
|
|
bool "Support for CoAP extended options"
|
|
help
|
|
This option enables the parsing of extended CoAP options length.
|
|
CoAP extended options length can be 2 byte value, which
|
|
requires more memory. User can save memory by disabling this.
|
|
That means only length of maximum 12 bytes are supported by default.
|
|
Enable this if length field going to bigger that 12.
|
|
|
|
config COAP_EXTENDED_OPTIONS_LEN_VALUE
|
|
int "CoAP extended options length value"
|
|
default 13
|
|
depends on COAP_EXTENDED_OPTIONS_LEN
|
|
help
|
|
This option specifies the maximum value of length field when
|
|
COAP_EXTENDED_OPTIONS_LEN is enabled. Define the value according to
|
|
user requirement.
|
|
|
|
config COAP_INIT_ACK_TIMEOUT_MS
|
|
int "base length of the random generated initial ACK timeout in ms"
|
|
default 2000
|
|
range 1000 100000
|
|
help
|
|
This value is used as a base value to retry pending CoAP packets.
|
|
|
|
config COAP_RANDOMIZE_ACK_TIMEOUT
|
|
bool "Randomize initial ACK timeout, as specified in RFC 7252"
|
|
default y
|
|
help
|
|
If enabled, the initial ACK timeout will be randomized, as specified
|
|
in RFC 7252, i.e. will be a random number between ACK_TIMEOUT and
|
|
ACK_TIMEOUT * ACK_RANDOM_FACTOR (where ACK_TIMEOUT is specified by
|
|
COAP_INIT_ACK_TIMEOUT_MS option). Otherwise, the initial ACK timeout
|
|
will be fixed to the value of COAP_INIT_ACK_TIMEOUT_MS option.
|
|
|
|
config COAP_ACK_RANDOM_PERCENT
|
|
int "Random factor for ACK timeout described as percentage"
|
|
default 150
|
|
depends on COAP_RANDOMIZE_ACK_TIMEOUT
|
|
help
|
|
Factor described as percentage to extend CoAP ACK timeout. A value
|
|
of 150 means a factor of 1.50.
|
|
|
|
config COAP_MAX_RETRANSMIT
|
|
int "Max retransmission of a CoAP packet"
|
|
default 4
|
|
range 1 10
|
|
|
|
config COAP_URI_WILDCARD
|
|
bool "Wildcards in CoAP resource path"
|
|
default y
|
|
help
|
|
This option enables MQTT-style wildcards in path. Disable it if
|
|
resource path may contain plus or hash symbol.
|
|
|
|
config COAP_KEEP_USER_DATA
|
|
bool "Keeping user data in the CoAP packet"
|
|
help
|
|
This option enables keeping application-specific user data
|
|
|
|
config COAP_CLIENT
|
|
bool "CoAP client support [EXPERIMENTAL]"
|
|
select EXPERIMENTAL
|
|
help
|
|
This option enables the API for CoAP-client for sending CoAP requests
|
|
|
|
if COAP_CLIENT
|
|
|
|
config COAP_CLIENT_THREAD_PRIORITY
|
|
int "Coap client thread priority"
|
|
default NUM_PREEMPT_PRIORITIES
|
|
help
|
|
Priority of receive thread of the CoAP client.
|
|
|
|
config COAP_CLIENT_BLOCK_SIZE
|
|
int "LWM2M CoAP block-wise transfer size"
|
|
default 256
|
|
range 64 1024
|
|
help
|
|
CoAP block size used by CoAP client when performing block-wise
|
|
transfers. Possible values: 64, 128, 256, 512 and 1024.
|
|
|
|
config COAP_CLIENT_MESSAGE_SIZE
|
|
int "Message payload size"
|
|
default COAP_CLIENT_BLOCK_SIZE
|
|
help
|
|
CoAP client message payload size. Can't be smaller than COAP_CLIENT_BLOCK_SIZE.
|
|
|
|
config COAP_CLIENT_MESSAGE_HEADER_SIZE
|
|
int "Room for CoAP header data"
|
|
default 48
|
|
range 24 128
|
|
help
|
|
Extra room allocated to handle CoAP header data
|
|
|
|
config COAP_CLIENT_STACK_SIZE
|
|
int "Stack size of the CoAP client thread"
|
|
default 1024
|
|
|
|
config COAP_CLIENT_MAX_INSTANCES
|
|
int "Maximum number of CoAP clients"
|
|
default 2
|
|
help
|
|
Maximum number of CoAP clients
|
|
|
|
config COAP_CLIENT_MAX_REQUESTS
|
|
int "Maximum number of simultaneous requests per client"
|
|
default 2
|
|
help
|
|
Maximum number of CoAP requests a single client can handle at a time
|
|
|
|
endif # COAP_CLIENT
|
|
|
|
module = COAP
|
|
module-dep = NET_LOG
|
|
module-str = Log level for CoAP
|
|
module-help = Enables CoAP debug messages.
|
|
source "subsys/net/Kconfig.template.log_config.net"
|
|
|
|
endif # COAP
|