From e33bca55837112be2cf90b7f0c65155bc89ffe94 Mon Sep 17 00:00:00 2001 From: Ayende Rahien Date: Fri, 14 Jan 2011 17:26:46 +0200 Subject: [PATCH] Adding tryout project --- Raven.MQ.Client/IRavenMQConnection.cs | 15 ++++++ Raven.MQ.Tryouts/Program.cs | 29 ++++++++++ Raven.MQ.Tryouts/Raven.MQ.Tryouts.csproj | 67 ++++++++++++++++++++++++ RavenMQ.sln | 12 +++++ 4 files changed, 123 insertions(+) create mode 100644 Raven.MQ.Client/IRavenMQConnection.cs create mode 100644 Raven.MQ.Tryouts/Program.cs create mode 100644 Raven.MQ.Tryouts/Raven.MQ.Tryouts.csproj diff --git a/Raven.MQ.Client/IRavenMQConnection.cs b/Raven.MQ.Client/IRavenMQConnection.cs new file mode 100644 index 0000000..c14cb8f --- /dev/null +++ b/Raven.MQ.Client/IRavenMQConnection.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Raven.Abstractions.Data; + +namespace Raven.MQ.Client +{ + public interface IRavenMQConnection : IDisposable + { + Task ConnectToServerTask { get; } + IDisposable Subscribe(string queue, Action action); + Task PublishAsync(IncomingMessage msg); + Task PublishMessagesAsync(IEnumerable msgs); + } +} \ No newline at end of file diff --git a/Raven.MQ.Tryouts/Program.cs b/Raven.MQ.Tryouts/Program.cs new file mode 100644 index 0000000..1a11d01 --- /dev/null +++ b/Raven.MQ.Tryouts/Program.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Raven.Abstractions.Data; +using Raven.MQ.Client; + +namespace Raven.MQ.Tryouts +{ + class Program + { + static void Main(string[] args) + { + using(var connection = RavenMQConnection.Connect("http://reduction:8181")) + { + connection.Subscribe("/queues/abc", (context, message) => + Console.WriteLine(Encoding.UTF8.GetString(message.Data))); + + connection.PublishAsync(new IncomingMessage + { + Queue = "/queues/abc", + Data = Encoding.UTF8.GetBytes("Hello Ravens") + }); + + Console.ReadLine(); + } + } + } +} diff --git a/Raven.MQ.Tryouts/Raven.MQ.Tryouts.csproj b/Raven.MQ.Tryouts/Raven.MQ.Tryouts.csproj new file mode 100644 index 0000000..0e3981e --- /dev/null +++ b/Raven.MQ.Tryouts/Raven.MQ.Tryouts.csproj @@ -0,0 +1,67 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01} + Exe + Properties + Raven.MQ.Tryouts + Raven.MQ.Tryouts + v4.0 + Client + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + {792DB9EB-4B5F-4AF4-BACC-FF842A8DB722} + Raven.Abstractions + + + {A8060EAC-0448-4F52-82AE-6A4D62D5082C} + Raven.MQ.Client + + + + + \ No newline at end of file diff --git a/RavenMQ.sln b/RavenMQ.sln index 99d0763..6279308 100644 --- a/RavenMQ.sln +++ b/RavenMQ.sln @@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Raven.MQ.Server", "Raven.MQ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Raven.MQ.Client", "Raven.MQ.Client\Raven.MQ.Client.csproj", "{A8060EAC-0448-4F52-82AE-6A4D62D5082C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Raven.MQ.Tryouts", "Raven.MQ.Tryouts\Raven.MQ.Tryouts.csproj", "{40F539FD-39BB-4D76-BDCF-4A82A26A0D01}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -107,6 +109,16 @@ Global {A8060EAC-0448-4F52-82AE-6A4D62D5082C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {A8060EAC-0448-4F52-82AE-6A4D62D5082C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A8060EAC-0448-4F52-82AE-6A4D62D5082C}.Release|x86.ActiveCfg = Release|Any CPU + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Debug|Any CPU.ActiveCfg = Debug|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Debug|x86.ActiveCfg = Debug|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Debug|x86.Build.0 = Debug|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Release|Any CPU.ActiveCfg = Release|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Release|Mixed Platforms.Build.0 = Release|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Release|x86.ActiveCfg = Release|x86 + {40F539FD-39BB-4D76-BDCF-4A82A26A0D01}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE