libmemif: introduce 'memif_per_thread_' namespace 28/22228/2
authorJakub Grajciar <[email protected]>
Wed, 31 Jul 2019 12:40:52 +0000 (14:40 +0200)
committerDamjan Marion <[email protected]>
Wed, 25 Sep 2019 22:09:12 +0000 (22:09 +0000)
commit2736fc7fcf1da65c1739bfbe498d7373a4034204
tree7316780fab26585b09a22cdb8024eb7131e5f070
parent17b7a067a2885318ca2bbbd65a580e330cbe3a4b
libmemif: introduce 'memif_per_thread_' namespace

APIs in 'memif_per_thread_' namespace are used to split the global
database into separate databases, to improve multi-thread use cases.

Using 'memif_per_thread_init' client can create separate libmemif
databases (libmemif_main_t). Client will reference these databases
using memif_per_thread_handle_t. Each database requires unique socket.
Created interface will be stored in the same database as the socket
passed in connection arguments.

Example code: extras/libmemif/examples/icmp_responder_3-1/main.c

Type: feature

Signed-off-by: Jakub Grajciar <[email protected]>
Change-Id: I261563ecc34761a76e94f20c20015394398ddfd7
Signed-off-by: Jakub Grajciar <[email protected]>
(cherry picked from commit 17f2a7bbf25f54dbd71aa8f377875828b7b88e35)
extras/libmemif/examples/CMakeLists.txt
extras/libmemif/examples/icmp_responder-mt_3-1/main.c [new file with mode: 0644]
extras/libmemif/src/libmemif.h
extras/libmemif/src/main.c
extras/libmemif/src/memif_private.h
extras/libmemif/src/socket.c
extras/libmemif/src/socket.h
extras/libmemif/test/main_test.c
extras/libmemif/test/socket_test.c