diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2012-04-15 13:10:41 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2012-04-17 07:30:52 +0200 |
commit | 443d06f894751062da6d69238ce09f6fbfc27577 (patch) | |
tree | 44d21141df628f1cba965b7466267faa51f9d34c /builds | |
parent | 692688206d5061de2a2b6a3d3040318dc537f221 (diff) |
"Survey" pattern implemented
Survey pattern is "multicast with reply". There are two roles:
surveyor and respondent. Surveyor publishes a survey which gets
delivered to all connected respondents. Each repondent can send
a response to the survey. All the responses are delivered to
the original surveyor. Once the surveyor decides that the survey
is over (e.g. deadline was reached) it can send initiate survey.
Late responses from old surveys are automatically discarded by
the surveyor socket.
Socket types: SURVEYOR, XSURVEYOR, RESPONDENT, XRESPONDENT
Patch also includes a test program with surveoyr, two respondents
and an intermediary device.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'builds')
-rw-r--r-- | builds/msvc/libxs/libxs.vcxproj | 10 | ||||
-rw-r--r-- | builds/msvc/libxs/libxs.vcxproj.filters | 26 | ||||
-rw-r--r-- | builds/msvc/tests/tests.vcxproj | 6 | ||||
-rw-r--r-- | builds/msvc/tests/tests.vcxproj.filters | 5 |
4 files changed, 43 insertions, 4 deletions
diff --git a/builds/msvc/libxs/libxs.vcxproj b/builds/msvc/libxs/libxs.vcxproj index bbab5fd..d4f40ca 100644 --- a/builds/msvc/libxs/libxs.vcxproj +++ b/builds/msvc/libxs/libxs.vcxproj @@ -143,12 +143,14 @@ <ClCompile Include="..\..\..\src\reaper.cpp" /> <ClCompile Include="..\..\..\src\rep.cpp" /> <ClCompile Include="..\..\..\src\req.cpp" /> + <ClCompile Include="..\..\..\src\respondent.cpp" /> <ClCompile Include="..\..\..\src\select.cpp" /> <ClCompile Include="..\..\..\src\session_base.cpp" /> <ClCompile Include="..\..\..\src\signaler.cpp" /> <ClCompile Include="..\..\..\src\socket_base.cpp" /> <ClCompile Include="..\..\..\src\stream_engine.cpp" /> <ClCompile Include="..\..\..\src\sub.cpp" /> + <ClCompile Include="..\..\..\src\surveyor.cpp" /> <ClCompile Include="..\..\..\src\tcp_address.cpp" /> <ClCompile Include="..\..\..\src\tcp_connecter.cpp" /> <ClCompile Include="..\..\..\src\tcp_listener.cpp" /> @@ -157,8 +159,10 @@ <ClCompile Include="..\..\..\src\xpub.cpp" /> <ClCompile Include="..\..\..\src\xrep.cpp" /> <ClCompile Include="..\..\..\src\xreq.cpp" /> + <ClCompile Include="..\..\..\src\xrespondent.cpp" /> <ClCompile Include="..\..\..\src\xsub.cpp" /> <ClCompile Include="..\..\..\src\xs.cpp" /> + <ClCompile Include="..\..\..\src\xsurveyor.cpp" /> <ClCompile Include="..\..\..\src\xszmq.cpp" /> </ItemGroup> <ItemGroup> @@ -211,6 +215,7 @@ <ClInclude Include="..\..\..\src\reaper.hpp" /> <ClInclude Include="..\..\..\src\rep.hpp" /> <ClInclude Include="..\..\..\src\req.hpp" /> + <ClInclude Include="..\..\..\src\respondent.hpp" /> <ClInclude Include="..\..\..\src\select.hpp" /> <ClInclude Include="..\..\..\src\session_base.hpp" /> <ClInclude Include="..\..\..\src\signaler.hpp" /> @@ -218,6 +223,7 @@ <ClInclude Include="..\..\..\src\stdint.hpp" /> <ClInclude Include="..\..\..\src\stream_engine.hpp" /> <ClInclude Include="..\..\..\src\sub.hpp" /> + <ClInclude Include="..\..\..\src\surveyor.hpp" /> <ClInclude Include="..\..\..\src\tcp_address.hpp" /> <ClInclude Include="..\..\..\src\tcp_connecter.hpp" /> <ClInclude Include="..\..\..\src\tcp_listener.hpp" /> @@ -228,7 +234,9 @@ <ClInclude Include="..\..\..\src\xpub.hpp" /> <ClInclude Include="..\..\..\src\xrep.hpp" /> <ClInclude Include="..\..\..\src\xreq.hpp" /> + <ClInclude Include="..\..\..\src\xrespondent.hpp" /> <ClInclude Include="..\..\..\src\xsub.hpp" /> + <ClInclude Include="..\..\..\src\xsurveyor.hpp" /> <ClInclude Include="..\..\..\src\ypipe.hpp" /> <ClInclude Include="..\..\..\src\yqueue.hpp" /> <ClInclude Include="..\platform.hpp" /> @@ -236,4 +244,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project>
\ No newline at end of file diff --git a/builds/msvc/libxs/libxs.vcxproj.filters b/builds/msvc/libxs/libxs.vcxproj.filters index eb0f505..1fefb60 100644 --- a/builds/msvc/libxs/libxs.vcxproj.filters +++ b/builds/msvc/libxs/libxs.vcxproj.filters @@ -176,6 +176,18 @@ <ClCompile Include="..\..\..\src\prefix_filter.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\respondent.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\src\xrespondent.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\src\surveyor.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\src\xsurveyor.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\include\xs.h"> @@ -388,5 +400,17 @@ <ClInclude Include="..\..\..\src\prefix_filter.hpp"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="..\..\..\src\respondent.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\src\surveyor.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\src\xrespondent.hpp"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\src\xsurveyor.hpp"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> -</Project> +</Project>
\ No newline at end of file diff --git a/builds/msvc/tests/tests.vcxproj b/builds/msvc/tests/tests.vcxproj index bb707c4..d1258e4 100644 --- a/builds/msvc/tests/tests.vcxproj +++ b/builds/msvc/tests/tests.vcxproj @@ -151,6 +151,10 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> </ClCompile> + <ClCompile Include="..\..\..\tests\survey.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> <ClCompile Include="..\..\..\tests\tests.cpp" /> <ClCompile Include="..\..\..\tests\timeo.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -184,4 +188,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project>
\ No newline at end of file diff --git a/builds/msvc/tests/tests.vcxproj.filters b/builds/msvc/tests/tests.vcxproj.filters index b1eade2..0fb41a8 100644 --- a/builds/msvc/tests/tests.vcxproj.filters +++ b/builds/msvc/tests/tests.vcxproj.filters @@ -65,6 +65,9 @@ <ClCompile Include="..\..\..\tests\resubscribe.cpp"> <Filter>Header Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\tests\survey.cpp"> + <Filter>Header Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Filter Include="Header Files"> @@ -76,4 +79,4 @@ <Filter>Header Files</Filter> </ClInclude> </ItemGroup> -</Project> +</Project>
\ No newline at end of file |