Merge branch 'master' of github.com:zeromq/libzmq

This commit is contained in:
Mário Kašuba 2015-11-13 03:53:37 +01:00
commit 86714959da
16 changed files with 1409 additions and 14 deletions

View File

@ -4,10 +4,11 @@ Visual C++ 2008 => Visual C++ 9
Visual C++ 2010 => Visual C++ 10
Visual C++ 2012 => Visual C++ 11
Visual C++ 2013 => Visual C++ 12
Visual C++ 2015 => Visual C++ 14
Note that solution file icons reflect the compiler version ([9], [10], [11], [12]), not the product version.
Note that solution file icons reflect the compiler version ([9], [10], [11], [12], [14]), not the product version.
The vs2013/vs2012/vs2010 solution and project files differ only in versioning.
The vs2015/vs2013/vs2012/vs2010 solution and project files differ only in versioning.
More info here:

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>Libsodium Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libsodium.import.xml" />
</ItemGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libsodium)' == 'static' Or '$(Linkage-libsodium)' == 'ltcg'">SODIUM_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libsodium)' != ''">advapi32.lib;libsodium.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libsodium-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libsodium.pdb"
DestinationFiles="$(TargetDir)libsodium.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libsodium.dll"
DestinationFiles="$(TargetDir)libsodium.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libsodium-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libsodium)' == 'dynamic'">
<Message Text="Copying libsodium.dll -&gt; $(TargetDir)libsodium.dll" Importance="high"/>
<Message Text="Copying libsodium.pdb -&gt; $(TargetDir)libsodium.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libsodium-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libsodium" DisplayName="libsodium" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libsodium" DisplayName="Linkage" Description="How libsodium will be linked into the output of this project" Category="libsodium">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<_PropertySheetDisplayName>ZMQ Import Settings</_PropertySheetDisplayName>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)libzmq.import.xml" />
</ItemGroup>
<PropertyGroup>
<Option-sodium>true</Option-sodium>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">HAVE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Linkage -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\libzmq\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Linkage-libzmq)' == 'static' Or '$(Linkage-libzmq)' == 'ltcg'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Linkage-libzmq)' != ''">libzmq.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libzmq)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<!-- Copy -->
<Target Name="Linkage-libzmq-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\libzmq.pdb"
DestinationFiles="$(TargetDir)libzmq.pdb"
SkipUnchangedFiles="true" />
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
SourceFiles="$(ProjectDir)..\..\..\..\..\libzmq\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\libzmq.dll"
DestinationFiles="$(TargetDir)libzmq.dll"
SkipUnchangedFiles="true" />
</Target>
<!-- Messages -->
<Target Name="libzmq-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-libzmq)' == 'dynamic'">
<Message Text="Copying libzmq.dll -&gt; $(TargetDir)libzmq.dll" Importance="high"/>
<Message Text="Copying libzmq.pdb -&gt; $(TargetDir)libzmq.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
</Target>
</Project>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-options-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="sodium" DisplayName="sodium" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable the OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable the Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable the GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
<Rule Name="libzmq-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="libzmq" DisplayName="libzmq" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Linkage-libzmq" DisplayName="Linkage" Description="How libzmq will be linked into the output of this project" Category="libzmq">
<EnumValue Name="" DisplayName="Not linked" />
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
<EnumValue Name="static" DisplayName="Static (LIB)" />
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@ -0,0 +1,208 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzmq", "libzmq\libzmq.vcxproj", "{641C5F36-32EE-4323-B740-992B651CF9D6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_thr", "inproc_thr\inproc_thr.vcxproj", "{1077E977-95DD-4E73-A692-74647DD0CC1E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inproc_lat", "inproc_lat\inproc_lat.vcxproj", "{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_thr", "remote_thr\remote_thr.vcxproj", "{B15E059C-0CBB-4A82-8C42-6567FB650802}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remote_lat", "remote_lat\remote_lat.vcxproj", "{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_thr", "local_thr\local_thr.vcxproj", "{8EF2DF6B-6646-460F-8032-913B70FE0E94}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "local_lat", "local_lat\local_lat.vcxproj", "{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DynDebug|Win32 = DynDebug|Win32
DynDebug|x64 = DynDebug|x64
DynRelease|Win32 = DynRelease|Win32
DynRelease|x64 = DynRelease|x64
LtcgDebug|Win32 = LtcgDebug|Win32
LtcgDebug|x64 = LtcgDebug|x64
LtcgRelease|Win32 = LtcgRelease|Win32
LtcgRelease|x64 = LtcgRelease|x64
StaticDebug|Win32 = StaticDebug|Win32
StaticDebug|x64 = StaticDebug|x64
StaticRelease|Win32 = StaticRelease|Win32
StaticRelease|x64 = StaticRelease|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|Win32.Build.0 = DebugDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.ActiveCfg = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynDebug|x64.Build.0 = DebugDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.DynRelease|x64.Build.0 = ReleaseDLL|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgDebug|x64.Build.0 = DebugLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|Win32.Build.0 = DebugLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.ActiveCfg = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticDebug|x64.Build.0 = DebugLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
{641C5F36-32EE-4323-B740-992B651CF9D6}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynDebug|x64.Build.0 = DebugDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{1077E977-95DD-4E73-A692-74647DD0CC1E}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynDebug|x64.Build.0 = DebugDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{6FF7436F-B3F6-4AE9-A3AC-CFDE8A3872A0}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynDebug|x64.Build.0 = DebugDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{B15E059C-0CBB-4A82-8C42-6567FB650802}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynDebug|x64.Build.0 = DebugDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{9C20A37C-5D9F-4C4C-A2D9-E6EE91A077D1}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynDebug|x64.Build.0 = DebugDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{8EF2DF6B-6646-460F-8032-913B70FE0E94}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|Win32.Build.0 = DebugDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynDebug|x64.Build.0 = DebugDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|Win32.Build.0 = ReleaseDEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.DynRelease|x64.Build.0 = ReleaseDEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticDebug|x64.Build.0 = DebugSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
{4FDB8C73-9D4A-4D87-A4A9-A7FC06DFEA57}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>ZeroMQ Library Common Settings</_PropertySheetDisplayName>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<!-- User Interface -->
<ItemGroup Label="BuildOptionsExtension">
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(ProjectName).xml" />
</ItemGroup>
<PropertyGroup>
<Option-sodium>true</Option-sodium>
</PropertyGroup>
<!-- Configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\;$(ProjectDir)..\..\..\..\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;FD_SETSIZE=4096;ZMQ_USE_SELECT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-openpgm)' == 'true'">ZMQ_HAVE_OPENPGM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-sodium)' == 'true'">HAVE_LIBSODIUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-gssapi)' == 'true'">HAVE_LIBGSSAPI_KRB5;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'StaticLibrary'">ZMQ_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'DynamicLibrary'">DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>Advapi32.lib;Ws2_32.lib;Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib Condition="'$(ConfigurationType)'=='StaticLibrary'">
<AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<!-- Dependencies -->
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)libsodium.import.props" />
</ImportGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
<Linkage-libsodium>dynamic</Linkage-libsodium>
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
<Linkage-libsodium>ltcg</Linkage-libsodium>
</PropertyGroup>
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
<Linkage-libsodium>static</Linkage-libsodium>
</PropertyGroup>
<!-- Messages -->
<Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
<Message Text="Option-openpgm : $(Option-openpgm)" Importance="high"/>
<Message Text="Option-sodium : $(Option-sodium)" Importance="high"/>
<Message Text="Option-gssapi : $(Option-gssapi)" Importance="high"/>
</Target>
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
<Message Text="Linkage-libsodium : $(Linkage-libsodium)" Importance="high"/>
</Target>
</Project>

View File

@ -0,0 +1,260 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{641C5F36-32EE-4323-B740-992B651CF9D6}</ProjectGuid>
<ProjectName>libzmq</ProjectName>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|Win32">
<Configuration>DebugDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|Win32">
<Configuration>ReleaseDLL</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|x64">
<Configuration>DebugDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|x64">
<Configuration>ReleaseDLL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|Win32">
<Configuration>DebugLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|Win32">
<Configuration>ReleaseLTCG</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|x64">
<Configuration>DebugLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|x64">
<Configuration>ReleaseLTCG</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|Win32">
<Configuration>DebugLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|Win32">
<Configuration>ReleaseLIB</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|x64">
<Configuration>DebugLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|x64">
<Configuration>ReleaseLIB</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) == -1">StaticLibrary</ConfigurationType>
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) != -1">DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
<Import Project="$(ProjectDir)..\..\properties\Output.props" />
<Import Project="$(ProjectDir)$(ProjectName).props" />
</ImportGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\include\zmq.h" />
<ClInclude Include="..\..\..\..\include\zmq_utils.h" />
<ClInclude Include="..\..\..\..\src\address.hpp" />
<ClInclude Include="..\..\..\..\src\array.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp" />
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp" />
<ClInclude Include="..\..\..\..\src\client.hpp" />
<ClInclude Include="..\..\..\..\src\clock.hpp" />
<ClInclude Include="..\..\..\..\src\command.hpp" />
<ClInclude Include="..\..\..\..\src\condition_variable.hpp" />
<ClInclude Include="..\..\..\..\src\config.hpp" />
<ClInclude Include="..\..\..\..\src\ctx.hpp" />
<ClInclude Include="..\..\..\..\src\curve_client.hpp" />
<ClInclude Include="..\..\..\..\src\curve_server.hpp" />
<ClInclude Include="..\..\..\..\src\decoder.hpp" />
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp" />
<ClInclude Include="..\..\..\..\src\devpoll.hpp" />
<ClInclude Include="..\..\..\..\src\dist.hpp" />
<ClInclude Include="..\..\..\..\src\encoder.hpp" />
<ClInclude Include="..\..\..\..\src\epoll.hpp" />
<ClInclude Include="..\..\..\..\src\err.hpp" />
<ClInclude Include="..\..\..\..\src\fd.hpp" />
<ClInclude Include="..\..\..\..\src\fq.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp" />
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp" />
<ClInclude Include="..\..\..\..\src\i_engine.hpp" />
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp" />
<ClInclude Include="..\..\..\..\src\io_object.hpp" />
<ClInclude Include="..\..\..\..\src\io_thread.hpp" />
<ClInclude Include="..\..\..\..\src\ip.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_address.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp" />
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp" />
<ClInclude Include="..\..\..\..\src\kqueue.hpp" />
<ClInclude Include="..\..\..\..\src\lb.hpp" />
<ClInclude Include="..\..\..\..\src\likely.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox.hpp" />
<ClInclude Include="..\..\..\..\src\mailbox_safe.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" />
<ClInclude Include="..\..\..\..\src\own.hpp" />
<ClInclude Include="..\..\..\..\src\pair.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp" />
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp" />
<ClInclude Include="..\..\..\..\src\pipe.hpp" />
<ClInclude Include="..\..\..\..\src\server.hpp" />
<ClInclude Include="..\..\..\..\src\socks.hpp" />
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp" />
<ClInclude Include="..\..\platform.hpp" />
<ClInclude Include="..\..\..\..\src\poll.hpp" />
<ClInclude Include="..\..\..\..\src\poller.hpp" />
<ClInclude Include="..\..\..\..\src\poller_base.hpp" />
<ClInclude Include="..\..\..\..\src\precompiled.hpp" />
<ClInclude Include="..\..\..\..\src\proxy.hpp" />
<ClInclude Include="..\..\..\..\src\pub.hpp" />
<ClInclude Include="..\..\..\..\src\pull.hpp" />
<ClInclude Include="..\..\..\..\src\push.hpp" />
<ClInclude Include="..\..\..\..\src\random.hpp" />
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\reaper.hpp" />
<ClInclude Include="..\..\..\..\src\rep.hpp" />
<ClInclude Include="..\..\..\..\src\req.hpp" />
<ClInclude Include="..\..\..\..\src\select.hpp" />
<ClInclude Include="..\..\..\..\src\session_base.hpp" />
<ClInclude Include="..\..\..\..\src\signaler.hpp" />
<ClInclude Include="..\..\..\..\src\socket_base.hpp" />
<ClInclude Include="..\..\..\..\src\stdint.hpp" />
<ClInclude Include="..\..\..\..\src\stream_engine.hpp" />
<ClInclude Include="..\..\..\..\src\sub.hpp" />
<ClInclude Include="..\..\..\..\src\tcp.hpp" />
<ClInclude Include="..\..\..\..\src\tcp_address.hpp" />
<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\v1_decoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp" />
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp" />
<ClInclude Include="..\..\..\..\src\windows.hpp" />
<ClInclude Include="..\..\..\..\src\wire.hpp" />
<ClInclude Include="..\..\..\..\src\xpub.hpp" />
<ClInclude Include="..\..\..\..\src\xrep.hpp" />
<ClInclude Include="..\..\..\..\src\xreq.hpp" />
<ClInclude Include="..\..\..\..\src\xsub.hpp" />
<ClInclude Include="..\..\..\..\src\ypipe.hpp" />
<ClInclude Include="..\..\..\..\src\yqueue.hpp" />
<ClInclude Include="..\..\resource.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp" />
<ClCompile Include="..\..\..\..\src\client.cpp" />
<ClCompile Include="..\..\..\..\src\clock.cpp" />
<ClCompile Include="..\..\..\..\src\ctx.cpp" />
<ClCompile Include="..\..\..\..\src\curve_client.cpp" />
<ClCompile Include="..\..\..\..\src\curve_server.cpp" />
<ClCompile Include="..\..\..\..\src\dealer.cpp" />
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp" />
<ClCompile Include="..\..\..\..\src\devpoll.cpp" />
<ClCompile Include="..\..\..\..\src\dist.cpp" />
<ClCompile Include="..\..\..\..\src\epoll.cpp" />
<ClCompile Include="..\..\..\..\src\err.cpp" />
<ClCompile Include="..\..\..\..\src\fq.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp" />
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp" />
<ClCompile Include="..\..\..\..\src\io_object.cpp" />
<ClCompile Include="..\..\..\..\src\io_thread.cpp" />
<ClCompile Include="..\..\..\..\src\ip.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_address.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp" />
<ClCompile Include="..\..\..\..\src\kqueue.cpp" />
<ClCompile Include="..\..\..\..\src\lb.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox.cpp" />
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp" />
<ClCompile Include="..\..\..\..\src\mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\metadata.cpp" />
<ClCompile Include="..\..\..\..\src\msg.cpp" />
<ClCompile Include="..\..\..\..\src\mtrie.cpp" />
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp" />
<ClCompile Include="..\..\..\..\src\object.cpp" />
<ClCompile Include="..\..\..\..\src\options.cpp" />
<ClCompile Include="..\..\..\..\src\own.cpp" />
<ClCompile Include="..\..\..\..\src\pair.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp" />
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp" />
<ClCompile Include="..\..\..\..\src\pipe.cpp" />
<ClCompile Include="..\..\..\..\src\plain_client.cpp" />
<ClCompile Include="..\..\..\..\src\plain_server.cpp" />
<ClCompile Include="..\..\..\..\src\poll.cpp" />
<ClCompile Include="..\..\..\..\src\poller_base.cpp" />
<ClCompile Include="..\..\..\..\src\precompiled.cpp" />
<ClCompile Include="..\..\..\..\src\proxy.cpp" />
<ClCompile Include="..\..\..\..\src\pub.cpp" />
<ClCompile Include="..\..\..\..\src\pull.cpp" />
<ClCompile Include="..\..\..\..\src\push.cpp" />
<ClCompile Include="..\..\..\..\src\random.cpp" />
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\reaper.cpp" />
<ClCompile Include="..\..\..\..\src\rep.cpp" />
<ClCompile Include="..\..\..\..\src\req.cpp" />
<ClCompile Include="..\..\..\..\src\router.cpp" />
<ClCompile Include="..\..\..\..\src\select.cpp" />
<ClCompile Include="..\..\..\..\src\server.cpp" />
<ClCompile Include="..\..\..\..\src\session_base.cpp" />
<ClCompile Include="..\..\..\..\src\signaler.cpp" />
<ClCompile Include="..\..\..\..\src\socket_base.cpp" />
<ClCompile Include="..\..\..\..\src\socket_poller.cpp" />
<ClCompile Include="..\..\..\..\src\socks.cpp" />
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp" />
<ClCompile Include="..\..\..\..\src\stream.cpp" />
<ClCompile Include="..\..\..\..\src\stream_engine.cpp" />
<ClCompile Include="..\..\..\..\src\sub.cpp" />
<ClCompile Include="..\..\..\..\src\tcp.cpp" />
<ClCompile Include="..\..\..\..\src\tcp_address.cpp" />
<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\v1_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp" />
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp" />
<ClCompile Include="..\..\..\..\src\xpub.cpp" />
<ClCompile Include="..\..\..\..\src\xsub.cpp" />
<ClCompile Include="..\..\..\..\src\zmq.cpp" />
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat" />
<None Include="..\..\..\..\packaging\nuget\package.config" />
<None Include="..\..\..\..\packaging\nuget\package.gsl" />
<None Include="..\..\..\..\packaging\nuget\package.nuspec" />
<None Include="..\..\..\..\packaging\nuget\package.targets" />
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@ -0,0 +1,570 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\..\src\address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\clock.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ctx.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dealer.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\devpoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\dist.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\epoll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\err.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\fq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\io_thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ip.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\ipc_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\kqueue.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\lb.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\metadata.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\msg.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mtrie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\null_mechanism.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\object.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\options.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\own.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pair.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_receiver.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_sender.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pgm_socket.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pipe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\plain_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poll.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\poller_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\proxy.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\pull.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\push.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\random.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\raw_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\reaper.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\rep.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\req.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\router.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\select.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\session_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\signaler.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\stream_engine.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\sub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_address.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\tcp_listener.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\thread.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\trie.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v1_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_decoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\v2_encoder.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xpub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\xsub.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\zmq_utils.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\precompiled.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\curve_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_mechanism_base.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\gssapi_client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socks_connecter.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\server.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\client.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\mailbox_safe.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\decoder_allocators.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\socket_poller.cpp">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\include\zmq_utils.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\include\zmq.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\array.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_counter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\atomic_ptr.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\clock.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\command.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\config.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ctx.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\devpoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\dist.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\epoll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\err.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fd.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\fq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\i_poll_events.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\io_thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ip.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ipc_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\kqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\lb.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\likely.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\msg.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mtrie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mutex.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\object.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\options.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\own.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pair.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_receiver.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\yqueue.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\ypipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xsub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xreq.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xrep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\xpub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\wire.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\windows.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_protocol.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\v1_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\trie.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\thread.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_listener.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp_address.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\tcp.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\sub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stream_engine.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\stdint.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socket_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\signaler.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\session_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\select.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\req.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\rep.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\reaper.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_encoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\raw_decoder.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\random.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\push.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pull.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pub.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\proxy.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\precompiled.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poller.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\poll.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\platform.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pipe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_socket.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\pgm_sender.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\resource.h">
<Filter>resource</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\curve_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_mechanism_base.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\gssapi_client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\socks_connecter.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\server.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\client.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\mailbox_safe.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\condition_variable.hpp">
<Filter>src\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\src\decoder_allocators.hpp">
<Filter>src\include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="include">
<UniqueIdentifier>{f7e88c6c-e408-4631-959c-fe3568656d70}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{35f0c644-e1d8-4a46-bb33-06bb8b645fff}</UniqueIdentifier>
</Filter>
<Filter Include="src\include">
<UniqueIdentifier>{90853975-3420-4f06-8be4-4ab3d9792160}</UniqueIdentifier>
</Filter>
<Filter Include="packaging">
<UniqueIdentifier>{f5e26e9d-c33d-45c1-95e4-0732acd28b59}</UniqueIdentifier>
</Filter>
<Filter Include="resource">
<UniqueIdentifier>{e66010e4-a9ea-4e2e-8bc6-12fec14bb009}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\packaging\nuget\package.bat">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.config">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.gsl">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.targets">
<Filter>packaging</Filter>
</None>
<None Include="..\..\..\..\packaging\nuget\package.nuspec">
<Filter>packaging</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Xml Include="..\..\..\..\packaging\nuget\package.xml">
<Filter>packaging</Filter>
</Xml>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\resource.rc">
<Filter>resource</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
<Rule Name="libzmq-uiextension" PageTemplate="tool" DisplayName="ZMQ Options" SwitchPrefix="/" Order="1">
<Rule.Categories>
<Category Name="openpgm" DisplayName="openpgm" />
<Category Name="sodium" DisplayName="sodium" />
<Category Name="gssapi" DisplayName="gssapi" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
</Rule.DataSource>
<EnumProperty Name="Option-openpgm" DisplayName="Enable OpenPGM" Description="Enable the OpenPGM build option" Category="openpgm">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-sodium" DisplayName="Enable Sodium" Description="Enable the Sodium build option" Category="sodium">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-gssapi" DisplayName="Enable GSS API" Description="Enable GSS API build option" Category="gssapi">
<EnumValue Name="" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>

View File

@ -736,6 +736,33 @@ Option value unit:: N/A
Default value:: not set
Applicable socket types:: all, when using TCP transport
ZMQ_TCP_RECV_BUFFER: Size of the TCP receive buffer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECV_BUFFER' specifies the maximum number of bytes which can
be received by an individual syscall to receive data from the TCP
socket. The buffer size is specified as an integer number from 0 (very small)
to 10 (very large). The default value is 3.
[horizontal]
Option value type:: int
Option value unit:: N/A
Default value:: 3
Applicable socket types:: all, when using TCP transport
ZMQ_TCP_SEND_BUFFER: Size of the TCP receive buffer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SEND_BUFFER' specifies the maximum number of bytes which can
be sent by an individual syscall to transmit data to the TCP
socket. The buffer size is specified as an integer number from 0 (very small)
to 10 (very large). The default value is 3.
[horizontal]
Option value type:: int
Option value unit:: N/A
Default value:: 3
Applicable socket types:: all, when using TCP transport
RETURN VALUE
------------

View File

@ -1071,6 +1071,33 @@ Option value unit:: boolean
Default value:: 1 (true)
Applicable socket types:: all, when using TCP transports.
ZMQ_TCP_RECV_BUFFER: Size of the TCP receive buffer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECV_BUFFER' specifies the maximum number of bytes which can
be received by an individual syscall to receive data from the TCP
socket. The buffer size is specified as an integer number from 0 (very small)
to 10 (very large). The default value is 3.
[horizontal]
Option value type:: int
Option value unit:: N/A
Default value:: 3
Applicable socket types:: all, when using TCP transport
ZMQ_TCP_SEND_BUFFER: Size of the TCP receive buffer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SEND_BUFFER' specifies the maximum number of bytes which can
be sent by an individual syscall to transmit data to the TCP
socket. The buffer size is specified as an integer number from 0 (very small)
to 10 (very large). The default value is 3.
[horizontal]
Option value type:: int
Option value unit:: N/A
Default value:: 3
Applicable socket types:: all, when using TCP transport
RETURN VALUE
------------

View File

@ -323,6 +323,8 @@ ZMQ_EXPORT uint32_t zmq_msg_routing_id (zmq_msg_t *msg);
#define ZMQ_CONNECT_TIMEOUT 79
#define ZMQ_TCP_RETRANSMIT_TIMEOUT 80
#define ZMQ_THREAD_SAFE 81
#define ZMQ_TCP_RECV_BUFFER 82
#define ZMQ_TCP_SEND_BUFFER 83
/* Message options */
#define ZMQ_MORE 1

View File

@ -28,6 +28,7 @@
*/
#include <string.h>
#include <cmath>
#include "options.hpp"
#include "err.hpp"
@ -65,6 +66,8 @@ zmq::options_t::options_t () :
tcp_keepalive_cnt (-1),
tcp_keepalive_idle (-1),
tcp_keepalive_intvl (-1),
tcp_recv_buffer_size (3),
tcp_send_buffer_size (3),
mechanism (ZMQ_NULL),
as_server (0),
gss_plaintext (false),
@ -280,6 +283,18 @@ int zmq::options_t::setsockopt (int option_, const void *optval_,
}
break;
case ZMQ_TCP_RECV_BUFFER:
if (is_int && (value >= 0 && value <= 10) ) {
tcp_recv_buffer_size = static_cast<int>(std::pow(2, value)) * 1024;
}
break;
case ZMQ_TCP_SEND_BUFFER:
if (is_int && (value >= 0 && value <= 10) ) {
tcp_send_buffer_size = static_cast<int>(std::pow(2, value)) * 1024;
}
break;
case ZMQ_IMMEDIATE:
if (is_int && (value == 0 || value == 1)) {
immediate = value;
@ -790,6 +805,20 @@ int zmq::options_t::getsockopt (int option_, void *optval_, size_t *optvallen_)
}
break;
case ZMQ_TCP_SEND_BUFFER:
if (is_int) {
*value = tcp_send_buffer_size;
return 0;
}
break;
case ZMQ_TCP_RECV_BUFFER:
if (is_int) {
*value = tcp_recv_buffer_size;
return 0;
}
break;
case ZMQ_MECHANISM:
if (is_int) {
*value = mechanism;

View File

@ -156,6 +156,10 @@ namespace zmq
typedef std::vector <tcp_address_mask_t> tcp_accept_filters_t;
tcp_accept_filters_t tcp_accept_filters;
// TCO buffer sizes
int tcp_recv_buffer_size;
int tcp_send_buffer_size;
// IPC accept() filters
# if defined ZMQ_HAVE_SO_PEERCRED || defined ZMQ_HAVE_LOCAL_PEERCRED
bool zap_ipc_creds;

View File

@ -203,10 +203,10 @@ void zmq::stream_engine_t::plug (io_thread_t *io_thread_,
if (options.raw_socket) {
// no handshaking for raw sock, instantiate raw encoder and decoders
encoder = new (std::nothrow) raw_encoder_t (out_batch_size);
encoder = new (std::nothrow) raw_encoder_t (options.tcp_send_buffer_size);
alloc_assert (encoder);
decoder = new (std::nothrow) raw_decoder_t (in_batch_size);
decoder = new (std::nothrow) raw_decoder_t (options.tcp_recv_buffer_size);
alloc_assert (decoder);
// disable handshaking for raw socket
@ -385,12 +385,12 @@ void zmq::stream_engine_t::out_event ()
outpos = NULL;
outsize = encoder->encode (&outpos, 0);
while (outsize < out_batch_size) {
while (outsize < options.tcp_send_buffer_size) {
if ((this->*next_msg) (&tx_msg) == -1)
break;
encoder->load_msg (&tx_msg);
unsigned char *bufptr = outpos + outsize;
size_t n = encoder->encode (&bufptr, out_batch_size - outsize);
size_t n = encoder->encode (&bufptr, options.tcp_send_buffer_size - outsize);
zmq_assert (n > 0);
if (outpos == NULL)
outpos = bufptr;
@ -587,10 +587,10 @@ bool zmq::stream_engine_t::handshake ()
return false;
}
encoder = new (std::nothrow) v1_encoder_t (out_batch_size);
encoder = new (std::nothrow) v1_encoder_t (options.tcp_send_buffer_size);
alloc_assert (encoder);
decoder = new (std::nothrow) v1_decoder_t (in_batch_size, options.maxmsgsize);
decoder = new (std::nothrow) v1_decoder_t (options.tcp_recv_buffer_size, options.maxmsgsize);
alloc_assert (decoder);
// We have already sent the message header.
@ -635,11 +635,11 @@ bool zmq::stream_engine_t::handshake ()
}
encoder = new (std::nothrow) v1_encoder_t (
out_batch_size);
options.tcp_send_buffer_size);
alloc_assert (encoder);
decoder = new (std::nothrow) v1_decoder_t (
in_batch_size, options.maxmsgsize);
options.tcp_recv_buffer_size, options.maxmsgsize);
alloc_assert (decoder);
}
else
@ -650,19 +650,19 @@ bool zmq::stream_engine_t::handshake ()
return false;
}
encoder = new (std::nothrow) v2_encoder_t (out_batch_size);
encoder = new (std::nothrow) v2_encoder_t (options.tcp_send_buffer_size);
alloc_assert (encoder);
decoder = new (std::nothrow) v2_decoder_t (
in_batch_size, options.maxmsgsize);
options.tcp_recv_buffer_size, options.maxmsgsize);
alloc_assert (decoder);
}
else {
encoder = new (std::nothrow) v2_encoder_t (out_batch_size);
encoder = new (std::nothrow) v2_encoder_t (options.tcp_send_buffer_size);
alloc_assert (encoder);
decoder = new (std::nothrow) v2_decoder_t (
in_batch_size, options.maxmsgsize);
options.tcp_recv_buffer_size, options.maxmsgsize);
alloc_assert (decoder);
if (options.mechanism == ZMQ_NULL