summaryrefslogtreecommitdiff
path: root/builds
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2012-04-15 13:10:41 +0200
committerMartin Sustrik <sustrik@250bpm.com>2012-04-17 07:30:52 +0200
commit443d06f894751062da6d69238ce09f6fbfc27577 (patch)
tree44d21141df628f1cba965b7466267faa51f9d34c /builds
parent692688206d5061de2a2b6a3d3040318dc537f221 (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.vcxproj10
-rw-r--r--builds/msvc/libxs/libxs.vcxproj.filters26
-rw-r--r--builds/msvc/tests/tests.vcxproj6
-rw-r--r--builds/msvc/tests/tests.vcxproj.filters5
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