basic idea on python cpp ipc -- python call cpp

This commit is contained in:
Ubuntu 2021-02-23 18:47:58 +00:00
parent 5a7232254f
commit a2aefed5d4
20 changed files with 979 additions and 1 deletions

View File

@ -21,3 +21,4 @@ add_subdirectory(test)
add_subdirectory(demo/chat) add_subdirectory(demo/chat)
add_subdirectory(demo/msg_que) add_subdirectory(demo/msg_que)
add_subdirectory(demo/kvs) add_subdirectory(demo/kvs)
add_subdirectory(demo/PyCpp)

3
bin/setup.py Normal file
View File

@ -0,0 +1,3 @@
import libPyCpp
s = libPyCpp.kvs_client(1,1,"50")

View File

@ -0,0 +1,16 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ubuntu/ipc/cpp-ipc")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ubuntu/ipc/cpp-ipc")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

View File

@ -0,0 +1,86 @@
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp
signal.h
-
iostream
-
string
-
cstring
-
chrono
-
cstddef
-
libipc/ipc.h
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/libipc/ipc.h
libipc/shm.h
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/libipc/shm.h
capo/random.hpp
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/capo/random.hpp
util.h
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.h
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.h
python3.6/Python.h
-
3rdparty/capo/random.hpp
random
-
utility
-
include/libipc/buffer.h
cstddef
-
tuple
-
vector
-
type_traits
-
libipc/export.h
include/libipc/libipc/export.h
libipc/def.h
include/libipc/libipc/def.h
include/libipc/def.h
cstddef
-
cstdint
-
limits
-
new
-
utility
-
include/libipc/export.h
include/libipc/ipc.h
string
-
libipc/export.h
include/libipc/libipc/export.h
libipc/def.h
include/libipc/libipc/def.h
libipc/buffer.h
include/libipc/libipc/buffer.h
libipc/shm.h
include/libipc/libipc/shm.h
include/libipc/shm.h
cstddef
-
libipc/export.h
include/libipc/libipc/export.h

View File

@ -0,0 +1,36 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"CXX"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_CXX
"/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/buffer.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/ipc.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/shm_linux.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/pool_alloc.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/shm.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/tls_pointer.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/src/waiter.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o"
"/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.cpp" "/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o"
)
set(CMAKE_CXX_COMPILER_ID "GNU")
# Preprocessor definitions for this target.
set(CMAKE_TARGET_DEFINITIONS_CXX
"PyCpp_EXPORTS"
)
# The include file search paths:
set(CMAKE_CXX_TARGET_INCLUDE_PATH
"include"
"3rdparty"
"src"
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

View File

@ -0,0 +1,237 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/local/lib/python3.6/dist-packages/cmake/data/bin/cmake
# The command to remove a file.
RM = /usr/local/lib/python3.6/dist-packages/cmake/data/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/ubuntu/ipc/cpp-ipc
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/ubuntu/ipc/cpp-ipc
# Include any dependencies generated for this target.
include demo/PyCpp/CMakeFiles/PyCpp.dir/depend.make
# Include the progress variables for this target.
include demo/PyCpp/CMakeFiles/PyCpp.dir/progress.make
# Include the compile flags for this target's objects.
include demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/platform/shm_linux.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/libipc/platform/shm_linux.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/libipc/platform/shm_linux.cpp > CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/libipc/platform/shm_linux.cpp -o CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: src/buffer.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/buffer.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/buffer.cpp > CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/buffer.cpp -o CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/ipc.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/ipc.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/ipc.cpp > CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/ipc.cpp -o CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/pool_alloc.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/pool_alloc.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/pool_alloc.cpp > CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/pool_alloc.cpp -o CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/shm.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/shm.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/shm.cpp > CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/shm.cpp -o CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/tls_pointer.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/tls_pointer.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/tls_pointer.cpp > CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/tls_pointer.cpp -o CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/waiter.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o -c /home/ubuntu/ipc/cpp-ipc/src/waiter.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/src/waiter.cpp > CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/src/waiter.cpp -o CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: demo/PyCpp/Client.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/Client.cpp.o -c /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/Client.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp > CMakeFiles/PyCpp.dir/Client.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/Client.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp -o CMakeFiles/PyCpp.dir/Client.cpp.s
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o: demo/PyCpp/CMakeFiles/PyCpp.dir/flags.make
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o: demo/PyCpp/util.cpp
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/PyCpp.dir/util.cpp.o -c /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/PyCpp.dir/util.cpp.i"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.cpp > CMakeFiles/PyCpp.dir/util.cpp.i
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/PyCpp.dir/util.cpp.s"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.cpp -o CMakeFiles/PyCpp.dir/util.cpp.s
# Object files for target PyCpp
PyCpp_OBJECTS = \
"CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o" \
"CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o" \
"CMakeFiles/PyCpp.dir/Client.cpp.o" \
"CMakeFiles/PyCpp.dir/util.cpp.o"
# External object files for target PyCpp
PyCpp_EXTERNAL_OBJECTS =
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/build.make
bin/libPyCpp.so: demo/PyCpp/CMakeFiles/PyCpp.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/ubuntu/ipc/cpp-ipc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Linking CXX shared library ../../bin/libPyCpp.so"
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/PyCpp.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
demo/PyCpp/CMakeFiles/PyCpp.dir/build: bin/libPyCpp.so
.PHONY : demo/PyCpp/CMakeFiles/PyCpp.dir/build
demo/PyCpp/CMakeFiles/PyCpp.dir/clean:
cd /home/ubuntu/ipc/cpp-ipc/demo/PyCpp && $(CMAKE_COMMAND) -P CMakeFiles/PyCpp.dir/cmake_clean.cmake
.PHONY : demo/PyCpp/CMakeFiles/PyCpp.dir/clean
demo/PyCpp/CMakeFiles/PyCpp.dir/depend:
cd /home/ubuntu/ipc/cpp-ipc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ubuntu/ipc/cpp-ipc /home/ubuntu/ipc/cpp-ipc/demo/PyCpp /home/ubuntu/ipc/cpp-ipc /home/ubuntu/ipc/cpp-ipc/demo/PyCpp /home/ubuntu/ipc/cpp-ipc/demo/PyCpp/CMakeFiles/PyCpp.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : demo/PyCpp/CMakeFiles/PyCpp.dir/depend

View File

@ -0,0 +1,18 @@
file(REMOVE_RECURSE
"../../bin/libPyCpp.pdb"
"../../bin/libPyCpp.so"
"CMakeFiles/PyCpp.dir/Client.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o"
"CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o"
"CMakeFiles/PyCpp.dir/util.cpp.o"
)
# Per-language clean rules from dependency scanning.
foreach(lang CXX)
include(CMakeFiles/PyCpp.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

View File

@ -0,0 +1,132 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/Client.cpp
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.h
3rdparty/capo/random.hpp
include/libipc/buffer.h
include/libipc/def.h
include/libipc/export.h
include/libipc/ipc.h
include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/buffer.cpp
/home/ubuntu/ipc/cpp-ipc/src/libipc/utility/pimpl.h
include/libipc/buffer.h
include/libipc/def.h
include/libipc/export.h
include/libipc/pool_alloc.h
src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/ipc.cpp
/home/ubuntu/ipc/cpp-ipc/src/libipc/circ/elem_array.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/memory/resource.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/detail.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/waiter_wrapper.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/policy.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/queue.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/utility/id_pool.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/utility/log.h
include/libipc/buffer.h
include/libipc/def.h
include/libipc/export.h
include/libipc/ipc.h
include/libipc/pool_alloc.h
include/libipc/rw_lock.h
include/libipc/shm.h
include/libipc/tls_pointer.h
src/libipc/circ/elem_def.h
src/libipc/memory/alloc.h
src/libipc/memory/allocator_wrapper.h
src/libipc/memory/wrapper.h
src/libipc/platform/get_sa.h
src/libipc/platform/to_tchar.h
src/libipc/platform/waiter_linux.h
src/libipc/platform/waiter_win.h
src/libipc/prod_cons.h
src/libipc/utility/concept.h
src/libipc/utility/scope_guard.h
src/libipc/utility/utility.h
src/libipc/waiter_helper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/shm_linux.cpp
include/libipc/def.h
include/libipc/export.h
include/libipc/pool_alloc.h
include/libipc/rw_lock.h
include/libipc/shm.h
include/libipc/tls_pointer.h
src/libipc/memory/alloc.h
src/libipc/memory/allocator_wrapper.h
src/libipc/memory/resource.h
src/libipc/memory/wrapper.h
src/libipc/platform/detail.h
src/libipc/utility/concept.h
src/libipc/utility/log.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/libipc/memory/resource.h
/home/ubuntu/ipc/cpp-ipc/src/pool_alloc.cpp
include/libipc/def.h
include/libipc/export.h
include/libipc/pool_alloc.h
include/libipc/rw_lock.h
include/libipc/tls_pointer.h
src/libipc/memory/alloc.h
src/libipc/memory/allocator_wrapper.h
src/libipc/memory/wrapper.h
src/libipc/platform/detail.h
src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/libipc/memory/resource.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/utility/pimpl.h
/home/ubuntu/ipc/cpp-ipc/src/shm.cpp
include/libipc/def.h
include/libipc/export.h
include/libipc/pool_alloc.h
include/libipc/rw_lock.h
include/libipc/shm.h
include/libipc/tls_pointer.h
src/libipc/memory/alloc.h
src/libipc/memory/allocator_wrapper.h
src/libipc/memory/wrapper.h
src/libipc/platform/detail.h
src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/tls_pointer_linux.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/tls_pointer_win.h
/home/ubuntu/ipc/cpp-ipc/src/tls_pointer.cpp
include/libipc/export.h
include/libipc/tls_pointer.h
src/libipc/platform/detail.h
src/libipc/platform/tls_detail_win.h
src/libipc/utility/log.h
src/libipc/utility/utility.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o
/home/ubuntu/ipc/cpp-ipc/src/libipc/platform/waiter_wrapper.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/utility/pimpl.h
/home/ubuntu/ipc/cpp-ipc/src/libipc/waiter_template.inc
/home/ubuntu/ipc/cpp-ipc/src/waiter.cpp
include/libipc/def.h
include/libipc/export.h
include/libipc/pool_alloc.h
include/libipc/rw_lock.h
include/libipc/shm.h
include/libipc/tls_pointer.h
include/libipc/waiter.h
src/libipc/memory/alloc.h
src/libipc/memory/allocator_wrapper.h
src/libipc/memory/resource.h
src/libipc/memory/wrapper.h
src/libipc/platform/detail.h
src/libipc/platform/get_sa.h
src/libipc/platform/to_tchar.h
src/libipc/platform/waiter_linux.h
src/libipc/platform/waiter_win.h
src/libipc/utility/concept.h
src/libipc/utility/log.h
src/libipc/utility/scope_guard.h
src/libipc/waiter_helper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.cpp
/home/ubuntu/ipc/cpp-ipc/demo/PyCpp/util.h

View File

@ -0,0 +1,132 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: demo/PyCpp/Client.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: demo/PyCpp/util.h
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: 3rdparty/capo/random.hpp
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: include/libipc/buffer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: include/libipc/ipc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/Client.cpp.o: include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: src/buffer.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: src/libipc/utility/pimpl.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: include/libipc/buffer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/ipc.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/circ/elem_array.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/memory/resource.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/waiter_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/policy.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/queue.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/utility/id_pool.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/utility/log.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/buffer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/ipc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/rw_lock.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/circ/elem_def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/memory/alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/memory/allocator_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/memory/wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/get_sa.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/to_tchar.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/waiter_linux.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/platform/waiter_win.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/prod_cons.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/utility/scope_guard.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/utility/utility.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o: src/libipc/waiter_helper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/platform/shm_linux.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/rw_lock.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/memory/alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/memory/allocator_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/memory/resource.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/memory/wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o: src/libipc/utility/log.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/memory/resource.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/pool_alloc.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: include/libipc/rw_lock.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/memory/alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/memory/allocator_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/memory/wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/memory/resource.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/utility/pimpl.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/shm.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/rw_lock.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/memory/alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/memory/allocator_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/memory/wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/platform/tls_pointer_linux.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/platform/tls_pointer_win.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/tls_pointer.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/platform/tls_detail_win.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/utility/log.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o: src/libipc/utility/utility.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/waiter_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/utility/pimpl.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/waiter_template.inc
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/waiter.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/def.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/export.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/pool_alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/rw_lock.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/shm.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/tls_pointer.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: include/libipc/waiter.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/memory/alloc.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/memory/allocator_wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/memory/resource.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/memory/wrapper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/detail.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/get_sa.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/to_tchar.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/waiter_linux.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/platform/waiter_win.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/utility/concept.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/utility/log.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/utility/scope_guard.h
demo/PyCpp/CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o: src/libipc/waiter_helper.h
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o: demo/PyCpp/util.cpp
demo/PyCpp/CMakeFiles/PyCpp.dir/util.cpp.o: demo/PyCpp/util.h

View File

@ -0,0 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
# compile CXX with /usr/bin/c++
CXX_DEFINES = -DPyCpp_EXPORTS
CXX_INCLUDES = -I/home/ubuntu/ipc/cpp-ipc/include -I/home/ubuntu/ipc/cpp-ipc/3rdparty -I/home/ubuntu/ipc/cpp-ipc/src
CXX_FLAGS = -fPIC -D__IPC_LIBRARY__ -fPIC -std=gnu++1z

View File

@ -0,0 +1 @@
/usr/bin/c++ -fPIC -shared -Wl,-soname,libPyCpp.so -o ../../bin/libPyCpp.so CMakeFiles/PyCpp.dir/__/__/src/libipc/platform/shm_linux.cpp.o CMakeFiles/PyCpp.dir/__/__/src/buffer.cpp.o CMakeFiles/PyCpp.dir/__/__/src/ipc.cpp.o CMakeFiles/PyCpp.dir/__/__/src/pool_alloc.cpp.o CMakeFiles/PyCpp.dir/__/__/src/shm.cpp.o CMakeFiles/PyCpp.dir/__/__/src/tls_pointer.cpp.o CMakeFiles/PyCpp.dir/__/__/src/waiter.cpp.o CMakeFiles/PyCpp.dir/Client.cpp.o CMakeFiles/PyCpp.dir/util.cpp.o -lpthread -lrt

View File

@ -0,0 +1,11 @@
CMAKE_PROGRESS_1 = 3
CMAKE_PROGRESS_2 = 4
CMAKE_PROGRESS_3 = 5
CMAKE_PROGRESS_4 = 6
CMAKE_PROGRESS_5 = 7
CMAKE_PROGRESS_6 = 8
CMAKE_PROGRESS_7 = 9
CMAKE_PROGRESS_8 = 10
CMAKE_PROGRESS_9 = 11
CMAKE_PROGRESS_10 = 12

View File

@ -0,0 +1 @@
10

37
demo/PyCpp/CMakeLists.txt Normal file
View File

@ -0,0 +1,37 @@
project(PyCpp)
add_compile_options(-D__IPC_LIBRARY__)
if(NOT MSVC)
add_compile_options(-fPIC)
endif()
include_directories(
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/3rdparty
${CMAKE_SOURCE_DIR}/src)
if(UNIX)
file(GLOB SRC_FILES ${CMAKE_SOURCE_DIR}/src/libipc/platform/*_linux.cpp)
else()
file(GLOB SRC_FILES ${CMAKE_SOURCE_DIR}/src/libipc/platform/*_win.cpp)
endif()
aux_source_directory(${CMAKE_SOURCE_DIR}/src SRC_FILES)
aux_source_directory(${CMAKE_SOURCE_DIR}/demo/PyCpp SRC_FILES)
file(GLOB HEAD_FILES
${CMAKE_SOURCE_DIR}/include/libipc/*.h
${CMAKE_SOURCE_DIR}/src/libipc/*.h
${CMAKE_SOURCE_DIR}/src/libipc/*.inc
${CMAKE_SOURCE_DIR}/src/libipc/circ/*.h
${CMAKE_SOURCE_DIR}/src/libipc/memory/*.h
${CMAKE_SOURCE_DIR}/src/libipc/platform/*.h
${CMAKE_SOURCE_DIR}/src/libipc/utility/*.h
${CMAKE_SOURCE_DIR}/src/demo/PyCpp/*.h)
add_library(${PROJECT_NAME} SHARED ${SRC_FILES} ${HEAD_FILES})
if(NOT MSVC)
target_link_libraries(${PROJECT_NAME} PUBLIC
pthread
$<$<NOT:$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>>:rt>)
endif()

161
demo/PyCpp/Client.cpp Normal file
View File

@ -0,0 +1,161 @@
#include <signal.h>
#include <iostream>
#include <string>
#include <cstring>
#include <chrono>
#include <cstddef>
#include "libipc/ipc.h"
#include "libipc/shm.h"
#include "capo/random.hpp"
#include "util.h"
using string = std::string;
using namespace ipc::shm;
namespace ipc {
constexpr char const name__ [] = "ipc-kvs";
capo::random<> rand__{
static_cast<int>(1),
static_cast<int>(127)
};
ipc::channel shared_chan { name__, ipc::sender | ipc::receiver };
char * kvs_client(char id, bool is_read, string info) {
auto client_id = 2 + id;
std::cout << "Launching client " << client_id << " ...\n";
auto start_stamp = std::chrono::system_clock::now();
string req;
auto req_id = rand__();
string key_name = "a" + info;
// request addres (1 byte) | resp address (1 byte) | get/put (1 byte) | request id (1 byte) | metadata len (1 byte)| metadata | optional value
req.push_back(1);
req.push_back(client_id);
if (is_read){
req.push_back(1);
req.push_back(req_id);
req.push_back((char) key_name.size());
req += key_name;
}
else {
req.push_back(2);
req.push_back(req_id);
req.push_back((char) key_name.size());
req += key_name;
auto shm_size = stoi(info) + 1;
req += std::to_string(shm_size);
int data_len = stoi(info);
auto shm_id = acquire(key_name.c_str(), shm_size);
auto shm_ptr = (char *) get_mem(shm_id, nullptr);
memset(shm_ptr, '1', data_len);
shm_ptr[data_len] = '\0';
}
auto ready_stamp = std::chrono::system_clock::now();
while (!shared_chan.send(req)) {
// waiting for connection
shared_chan.wait_for_recv(2);
}
// recv ack
auto dd = shared_chan.recv();
auto str = static_cast<char*>(dd.data());
// response address (1 byte) | request id (1 byte) | is_success (1 byte) | optional value
if (str == nullptr) {
char * err = "Ack error";
return err;
}
if (client_id != (int) str[0]){
char * err = "Not my ack";
return err;
}
if (str[1] != req_id) {
char * err = "request id doesn't match";
return err;
}
auto ack_stamp = std::chrono::system_clock::now();
if (is_read){
auto size_len = stoi(string(str + 3));
auto shm_id = acquire(key_name.c_str(), size_len);
auto shm_ptr = (char *) get_mem(shm_id, nullptr);
auto ptr_stamp = std::chrono::system_clock::now();
auto val_size = strlen(shm_ptr);
auto val_stamp = std::chrono::system_clock::now();
auto ready_time = std::chrono::duration_cast<std::chrono::microseconds>(ready_stamp - start_stamp).count();
auto ack_time = std::chrono::duration_cast<std::chrono::microseconds>(ack_stamp - ready_stamp).count();
auto ptr_time = std::chrono::duration_cast<std::chrono::microseconds>(ptr_stamp - ack_stamp).count();
auto val_time = std::chrono::duration_cast<std::chrono::microseconds>(val_stamp - ptr_stamp).count();
std::cout << "Receive Get " << key_name << ", val_size: " << val_size
<< ", shm_size: " << size_len
<< ", ready_time: " << ready_time
<< ", ack_time: " << ack_time
<< ", ptr_time: " << ptr_time
<< ", val_time: " << val_time
<<"\n";
return shm_ptr;
} else {
auto ready_time = std::chrono::duration_cast<std::chrono::microseconds>(ready_stamp - start_stamp).count();
auto ack_time = std::chrono::duration_cast<std::chrono::microseconds>(ack_stamp - ready_stamp).count();
std::cout << "Receive Put " << key_name << ", ready_time "<< ready_time
<< ", ack_time: " << ack_time
<<"\n";
char * put_Msg = "Receive Put";
return put_Msg;
}
}
PyObject* WrappClient(PyObject* self, PyObject *args)
{
int id;
int is_read;
const char * info;
if(!PyArg_ParseTuple(args, "iiz", &id, &is_read, &info)){
return NULL;
}
char * resp = kvs_client(id, is_read, info);
return PyByteArray_FromString_WithoutCopy(resp, strlen(resp));
}
static PyMethodDef client_methods[] = {
{"kvs_client", WrappClient, METH_VARARGS, "something"},
{NULL, NULL}
};
static struct PyModuleDef client_module = {
PyModuleDef_HEAD_INIT,
"test",
NULL,
-1,
client_methods
};
PyMODINIT_FUNC PyInit_libPyCpp()
{
return PyModule_Create(&client_module);
}
}

View File

@ -0,0 +1,44 @@
# Install script for directory: /home/ubuntu/ipc/cpp-ipc/demo/PyCpp
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/local")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_INSTALL_SO_NO_EXE "1")
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
# Set default install directory permissions.
if(NOT DEFINED CMAKE_OBJDUMP)
set(CMAKE_OBJDUMP "/usr/bin/objdump")
endif()

46
demo/PyCpp/util.cpp Normal file
View File

@ -0,0 +1,46 @@
#include "util.h"
namespace ipc {
PyObject *
PyByteArray_FromString_WithoutCopy(char *bytes, Py_ssize_t size)
{
PyByteArrayObject *arrayObject;
Py_ssize_t alloc;
if (size < 0) {
PyErr_SetString(PyExc_SystemError,
"Negative size passed to PyByteArray_FromStringAndSize");
return NULL;
}
/* Prevent buffer overflow when setting alloc to size+1. */
if (size == PY_SSIZE_T_MAX) {
return PyErr_NoMemory();
}
arrayObject = PyObject_New(PyByteArrayObject, &PyByteArray_Type);
if (arrayObject == NULL)
return NULL;
if (size == 0) {
arrayObject->ob_bytes = NULL;
alloc = 0;
}
else {
alloc = size + 1;
// arrayObject->ob_bytes = PyObject_Malloc(alloc);
if (arrayObject->ob_bytes == NULL) {
Py_DECREF(arrayObject);
return PyErr_NoMemory();
}
arrayObject->ob_bytes = bytes;
}
Py_SIZE(arrayObject) = size;
arrayObject->ob_alloc = alloc;
arrayObject->ob_start = arrayObject->ob_bytes;
arrayObject->ob_exports = 0;
return (PyObject *)arrayObject;
}
}

5
demo/PyCpp/util.h Normal file
View File

@ -0,0 +1,5 @@
#include<python3.6/Python.h>
namespace ipc {
PyObject * PyByteArray_FromString_WithoutCopy(char *bytes, Py_ssize_t size);
}

View File

@ -9,3 +9,4 @@ file(GLOB HEAD_FILES ./*.h)
add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES}) add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES})
target_link_libraries(${PROJECT_NAME} ipc) target_link_libraries(${PROJECT_NAME} ipc)