Skip to content

Commit 89b2e08

Browse files
author
Elad Zelingher
committed
Implemented SignalR transport
Add SignalR nuspec
1 parent 4444af0 commit 89b2e08

File tree

5 files changed

+90
-2
lines changed

5 files changed

+90
-2
lines changed

NuGet/WampSharp.SignalR.nuspec

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
3+
<metadata>
4+
<version>$version$</version>
5+
<authors>CodeSharp</authors>
6+
<owners />
7+
<dependencies>
8+
<dependency id="WampSharp.Default" version="[$version$]" />
9+
<dependency id="Microsoft.AspNet.SignalR.SelfHost" version="[2.1.2]" />
10+
<dependency id="Microsoft.AspNet.SignalR.Client" version="[2.1.2]" />
11+
</dependencies>
12+
<id>WampSharp.SignalR</id>
13+
<title>WampSharp SignalR support</title>
14+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
15+
<description>SignalR transport support for WampSharp</description>
16+
<projectUrl>https://github.com/darkl/WampSharp/tree/wampv2</projectUrl>
17+
</metadata>
18+
<files>
19+
<file src="bin\net45\WampSharp.SignalR.dll" target="lib\net45\WampSharp.SignalR.dll" />
20+
</files>
21+
</package>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using System;
2+
3+
namespace WampSharp.SignalR
4+
{
5+
internal interface ISignalRListener : IDisposable
6+
{
7+
void Open();
8+
}
9+
}

src/net45/Extensions/WampSharp.SignalR/Server/SignalRConnectionListener.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using Microsoft.Owin;
32
using Microsoft.Owin.Hosting;
43
using Microsoft.Owin.Hosting.Services;
54
using Microsoft.Owin.Hosting.Starter;
@@ -8,7 +7,8 @@
87

98
namespace WampSharp.SignalR
109
{
11-
public class SignalRConnectionListener<TMessage> : IWampConnectionListener<TMessage>, IDisposable
10+
public class SignalRConnectionListener<TMessage> : IWampConnectionListener<TMessage>, IDisposable,
11+
ISignalRListener
1212
{
1313
private readonly string mUrl;
1414
private readonly SignalRConnectionListenerAdapter<TMessage> mAdapter;
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
using System;
2+
using WampSharp.Core.Listener;
3+
using WampSharp.V2.Binding;
4+
using WampSharp.V2.Binding.Transports;
5+
6+
namespace WampSharp.SignalR
7+
{
8+
public class SignalRTransport : IWampTransport
9+
{
10+
private readonly string mUrl;
11+
private ISignalRListener mListener;
12+
13+
public SignalRTransport(string url)
14+
{
15+
mUrl = url;
16+
}
17+
18+
public IWampConnectionListener<TMessage> GetListener<TMessage>(IWampTextBinding<TMessage> binding)
19+
{
20+
if (mListener != null)
21+
{
22+
throw new ArgumentException();
23+
}
24+
else
25+
{
26+
SignalRConnectionListener<TMessage> result = new SignalRConnectionListener<TMessage>(mUrl, binding);
27+
mListener = result;
28+
return result;
29+
}
30+
}
31+
32+
public void Dispose()
33+
{
34+
mListener.Dispose();
35+
}
36+
37+
public void Open()
38+
{
39+
mListener.Open();
40+
}
41+
42+
public IWampConnectionListener<TMessage> GetListener<TMessage>(IWampBinding<TMessage> binding)
43+
{
44+
IWampTextBinding<TMessage> textBinding = binding as IWampTextBinding<TMessage>;
45+
46+
if (textBinding == null)
47+
{
48+
throw new ArgumentException();
49+
}
50+
else
51+
{
52+
return GetListener(textBinding);
53+
}
54+
}
55+
}
56+
}

src/net45/Extensions/WampSharp.SignalR/WampSharp.SignalR.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,11 @@
9999
<Compile Include="Client\SignalRTextConnection.cs" />
100100
<Compile Include="Properties\AssemblyInfo.cs" />
101101
<Compile Include="Server\ISignalRConnectionListenerAdapter.cs" />
102+
<Compile Include="Server\ISignalRListener.cs" />
102103
<Compile Include="Server\PersistentConnectionListener.cs" />
103104
<Compile Include="Server\SignalRConnectionListener.cs" />
104105
<Compile Include="Server\SignalRConnectionListenerAdapter.cs" />
106+
<Compile Include="Server\SignalRTransport.cs" />
105107
<Compile Include="Server\Startup.cs" />
106108
</ItemGroup>
107109
<ItemGroup>

0 commit comments

Comments
 (0)