diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2012-04-05 07:32:58 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2012-04-05 07:32:58 +0200 |
commit | d82cbb3a81f116cd22e9895ecac36ac3d7b38929 (patch) | |
tree | 03c923311b937f550bec325d131476513a02bebf /builds | |
parent | 52b8a917deb2990e7197b82e81e0258ebe30f424 (diff) |
XS_PLUGIN and XS_FILTER implementation
This patch introduces following features:
- XS_PLUGIN context option to add plugins to libxs
- XS_FILTER option to switch between different filter types
- Automatic loading of plug-ins is *not* implemented.
From the implementation point of view:
- standard prefix filter is implemented as a pluggable filter
- trie_t and mtrie_t are joined into a single class
- the code for 0MQ/3.1 compatibility is left in in the form of comments
- new test for testing re-subscriptions is added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'builds')
-rw-r--r-- | builds/msvc/libxs/libxs.vcxproj | 8 | ||||
-rw-r--r-- | builds/msvc/libxs/libxs.vcxproj.filters | 24 | ||||
-rw-r--r-- | builds/msvc/tests/tests.vcxproj | 4 | ||||
-rw-r--r-- | builds/msvc/tests/tests.vcxproj.filters | 3 |
4 files changed, 23 insertions, 16 deletions
diff --git a/builds/msvc/libxs/libxs.vcxproj b/builds/msvc/libxs/libxs.vcxproj index 24eb9ae..bbab5fd 100644 --- a/builds/msvc/libxs/libxs.vcxproj +++ b/builds/msvc/libxs/libxs.vcxproj @@ -104,6 +104,7 @@ </PropertyGroup> <ItemGroup> <ClCompile Include="..\..\..\src\clock.cpp" /> + <ClCompile Include="..\..\..\src\core.cpp" /> <ClCompile Include="..\..\..\src\ctx.cpp" /> <ClCompile Include="..\..\..\src\decoder.cpp" /> <ClCompile Include="..\..\..\src\devpoll.cpp" /> @@ -122,7 +123,6 @@ <ClCompile Include="..\..\..\src\lb.cpp" /> <ClCompile Include="..\..\..\src\mailbox.cpp" /> <ClCompile Include="..\..\..\src\msg.cpp" /> - <ClCompile Include="..\..\..\src\mtrie.cpp" /> <ClCompile Include="..\..\..\src\object.cpp" /> <ClCompile Include="..\..\..\src\options.cpp" /> <ClCompile Include="..\..\..\src\own.cpp" /> @@ -135,6 +135,7 @@ <ClCompile Include="..\..\..\src\precompiled.cpp"> <PrecompiledHeader>Create</PrecompiledHeader> </ClCompile> + <ClCompile Include="..\..\..\src\prefix_filter.cpp" /> <ClCompile Include="..\..\..\src\pub.cpp" /> <ClCompile Include="..\..\..\src\pull.cpp" /> <ClCompile Include="..\..\..\src\push.cpp" /> @@ -152,7 +153,6 @@ <ClCompile Include="..\..\..\src\tcp_connecter.cpp" /> <ClCompile Include="..\..\..\src\tcp_listener.cpp" /> <ClCompile Include="..\..\..\src\thread.cpp" /> - <ClCompile Include="..\..\..\src\trie.cpp" /> <ClCompile Include="..\..\..\src\upoll.cpp" /> <ClCompile Include="..\..\..\src\xpub.cpp" /> <ClCompile Include="..\..\..\src\xrep.cpp" /> @@ -170,6 +170,7 @@ <ClInclude Include="..\..\..\src\clock.hpp" /> <ClInclude Include="..\..\..\src\command.hpp" /> <ClInclude Include="..\..\..\src\config.hpp" /> + <ClInclude Include="..\..\..\src\core.hpp" /> <ClInclude Include="..\..\..\src\ctx.hpp" /> <ClInclude Include="..\..\..\src\decoder.hpp" /> <ClInclude Include="..\..\..\src\devpoll.hpp" /> @@ -191,7 +192,6 @@ <ClInclude Include="..\..\..\src\likely.hpp" /> <ClInclude Include="..\..\..\src\mailbox.hpp" /> <ClInclude Include="..\..\..\src\msg.hpp" /> - <ClInclude Include="..\..\..\src\mtrie.hpp" /> <ClInclude Include="..\..\..\src\mutex.hpp" /> <ClInclude Include="..\..\..\src\object.hpp" /> <ClInclude Include="..\..\..\src\options.hpp" /> @@ -203,6 +203,7 @@ <ClInclude Include="..\..\..\src\pipe.hpp" /> <ClInclude Include="..\..\..\src\poll.hpp" /> <ClInclude Include="..\..\..\src\precompiled.hpp" /> + <ClInclude Include="..\..\..\src\prefix_filter.hpp" /> <ClInclude Include="..\..\..\src\pub.hpp" /> <ClInclude Include="..\..\..\src\pull.hpp" /> <ClInclude Include="..\..\..\src\push.hpp" /> @@ -221,7 +222,6 @@ <ClInclude Include="..\..\..\src\tcp_connecter.hpp" /> <ClInclude Include="..\..\..\src\tcp_listener.hpp" /> <ClInclude Include="..\..\..\src\thread.hpp" /> - <ClInclude Include="..\..\..\src\trie.hpp" /> <ClInclude Include="..\..\..\src\upoll.hpp" /> <ClInclude Include="..\..\..\src\windows.hpp" /> <ClInclude Include="..\..\..\src\wire.hpp" /> diff --git a/builds/msvc/libxs/libxs.vcxproj.filters b/builds/msvc/libxs/libxs.vcxproj.filters index db8e66d..eb0f505 100644 --- a/builds/msvc/libxs/libxs.vcxproj.filters +++ b/builds/msvc/libxs/libxs.vcxproj.filters @@ -65,9 +65,6 @@ <ClCompile Include="..\..\..\src\msg.cpp"> <Filter>Source Files</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\mtrie.cpp"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\object.cpp"> <Filter>Source Files</Filter> </ClCompile> @@ -149,9 +146,6 @@ <ClCompile Include="..\..\..\src\thread.cpp"> <Filter>Source Files</Filter> </ClCompile> - <ClCompile Include="..\..\..\src\trie.cpp"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="..\..\..\src\xpub.cpp"> <Filter>Source Files</Filter> </ClCompile> @@ -176,6 +170,12 @@ <ClCompile Include="..\..\..\src\xszmq.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\core.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\src\prefix_filter.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\include\xs.h"> @@ -259,9 +259,6 @@ <ClInclude Include="..\..\..\src\msg.hpp"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\mtrie.hpp"> - <Filter>Header Files</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\mutex.hpp"> <Filter>Header Files</Filter> </ClInclude> @@ -349,9 +346,6 @@ <ClInclude Include="..\..\..\src\thread.hpp"> <Filter>Header Files</Filter> </ClInclude> - <ClInclude Include="..\..\..\src\trie.hpp"> - <Filter>Header Files</Filter> - </ClInclude> <ClInclude Include="..\..\..\src\windows.hpp"> <Filter>Header Files</Filter> </ClInclude> @@ -388,5 +382,11 @@ <ClInclude Include="..\..\..\src\io_thread.hpp"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="..\..\..\src\core.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\src\prefix_filter.hpp"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> </Project> diff --git a/builds/msvc/tests/tests.vcxproj b/builds/msvc/tests/tests.vcxproj index ee4d414..bb707c4 100644 --- a/builds/msvc/tests/tests.vcxproj +++ b/builds/msvc/tests/tests.vcxproj @@ -164,6 +164,10 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> </ClCompile> + <ClCompile Include="..\..\..\tests\resubscribe.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> </ItemGroup> <ItemGroup> <ProjectReference Include="..\libxs\libxs.vcxproj"> diff --git a/builds/msvc/tests/tests.vcxproj.filters b/builds/msvc/tests/tests.vcxproj.filters index d858166..b1eade2 100644 --- a/builds/msvc/tests/tests.vcxproj.filters +++ b/builds/msvc/tests/tests.vcxproj.filters @@ -62,6 +62,9 @@ <ClCompile Include="..\..\..\tests\libzmq21.cpp"> <Filter>Header Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\tests\resubscribe.cpp"> + <Filter>Header Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Filter Include="Header Files"> |