Here we add a client and server samples for the basic "hello" service. These samples are designed to be run by either Zephyr or the host machine, interchangeably. Additionally, there is a python version of the client to demonstrate Thrift's cross-language capabilities. This code was merged from the following repository at the commit specified below, with minor formatting and coding-style modifications. https://github.com/zephyrproject-rtos/gsoc-2022-thrift e12e014d295918cc5ba0b4c507d1bf595a2f539a Signed-off-by: Chris Friedt <cfriedt@meta.com>
66 lines
1.5 KiB
Plaintext
66 lines
1.5 KiB
Plaintext
# Need a full libc++
|
|
CONFIG_NEWLIB_LIBC=y
|
|
CONFIG_NEWLIB_LIBC_NANO=n
|
|
|
|
# CONFIG_THRIFT Dependencies
|
|
CONFIG_CPP=y
|
|
CONFIG_STD_CPP17=y
|
|
CONFIG_CPP_EXCEPTIONS=y
|
|
CONFIG_EXTERNAL_LIBCPP=y
|
|
CONFIG_POSIX_API=y
|
|
CONFIG_NET_SOCKETPAIR=y
|
|
CONFIG_HEAP_MEM_POOL_SIZE=16384
|
|
CONFIG_EVENTFD=y
|
|
|
|
CONFIG_THRIFT=y
|
|
|
|
# Generic networking options
|
|
CONFIG_NETWORKING=y
|
|
CONFIG_NET_UDP=y
|
|
CONFIG_NET_TCP=y
|
|
CONFIG_NET_IPV6=n
|
|
CONFIG_NET_IPV4=y
|
|
CONFIG_NET_SOCKETS=y
|
|
CONFIG_NET_CONNECTION_MANAGER=y
|
|
|
|
# Kernel options
|
|
CONFIG_ENTROPY_GENERATOR=y
|
|
CONFIG_TEST_RANDOM_GENERATOR=y
|
|
CONFIG_INIT_STACKS=y
|
|
|
|
# Logging
|
|
CONFIG_NET_LOG=y
|
|
CONFIG_LOG=y
|
|
CONFIG_NET_STATISTICS=y
|
|
CONFIG_PRINTK=y
|
|
|
|
# Network buffers
|
|
CONFIG_NET_PKT_RX_COUNT=16
|
|
CONFIG_NET_PKT_TX_COUNT=16
|
|
CONFIG_NET_BUF_RX_COUNT=64
|
|
CONFIG_NET_BUF_TX_COUNT=64
|
|
CONFIG_NET_CONTEXT_NET_PKT_POOL=y
|
|
|
|
# IP address options
|
|
CONFIG_NET_MAX_CONTEXTS=10
|
|
|
|
# Network application options and configuration
|
|
CONFIG_NET_CONFIG_SETTINGS=y
|
|
CONFIG_NET_CONFIG_NEED_IPV6=n
|
|
CONFIG_NET_CONFIG_NEED_IPV4=y
|
|
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1"
|
|
CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
|
|
|
|
# Number of socket descriptors might need adjusting
|
|
# if there are more than 1 handlers defined.
|
|
CONFIG_POSIX_MAX_FDS=16
|
|
|
|
# Some platforms require relatively large stack sizes.
|
|
# This can be tuned per-board.
|
|
CONFIG_MAIN_STACK_SIZE=8192
|
|
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
|
|
CONFIG_NET_TCP_WORKQ_STACK_SIZE=4096
|
|
CONFIG_NET_MGMT_EVENT_STACK_SIZE=4096
|
|
CONFIG_IDLE_STACK_SIZE=4096
|
|
CONFIG_NET_RX_STACK_SIZE=8192
|