diff --git a/Example1/AudioStreamer.cs b/Example1/AudioStreamer.cs
index 44dd7f19..bbfbf691 100644
--- a/Example1/AudioStreamer.cs
+++ b/Example1/AudioStreamer.cs
@@ -108,7 +108,7 @@ namespace Example
_ws.OnError += (sender, e) =>
{
- enNfMessage("[AudioStreamer] error", "WS Error: " + e.Data, "notification-message-im");
+ enNfMessage("[AudioStreamer] error", "WS: Error: " + e.Data, "notification-message-im");
};
_ws.OnClose += (sender, e) =>
@@ -116,7 +116,7 @@ namespace Example
enNfMessage
(
"[AudioStreamer] disconnect",
- String.Format("WS Close({0}:{1}): {2}", (ushort)e.Code, e.Code, e.Reason),
+ String.Format("WS: Close({0}:{1}): {2}", (ushort)e.Code, e.Code, e.Reason),
"notification-message-im"
);
};
diff --git a/websocket-sharp.userprefs b/websocket-sharp.userprefs
index e78c9e62..b782827f 100644
--- a/websocket-sharp.userprefs
+++ b/websocket-sharp.userprefs
@@ -2,7 +2,7 @@
-
+
diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs
index 00fa0677..f3a7c9f8 100644
--- a/websocket-sharp/Ext.cs
+++ b/websocket-sharp/Ext.cs
@@ -36,6 +36,25 @@ namespace WebSocketSharp
{
public static class Ext
{
+ public static void Emit(
+ this EventHandler eventHandler, object sender, EventArgs e)
+ {
+ if (eventHandler != null)
+ {
+ eventHandler(sender, e);
+ }
+ }
+
+ public static void Emit(
+ this EventHandler eventHandler, object sender, TEventArgs e)
+ where TEventArgs : EventArgs
+ {
+ if (eventHandler != null)
+ {
+ eventHandler(sender, e);
+ }
+ }
+
public static bool EqualsAndSaveTo(this int value, char c, List dest)
{
byte b = (byte)value;
diff --git a/websocket-sharp/Frame/PayloadData.cs b/websocket-sharp/Frame/PayloadData.cs
index ddbba73a..cde2eb48 100644
--- a/websocket-sharp/Frame/PayloadData.cs
+++ b/websocket-sharp/Frame/PayloadData.cs
@@ -47,7 +47,8 @@ namespace WebSocketSharp.Frame
public byte[] ExtensionData { get; private set; }
public byte[] ApplicationData { get; private set; }
- public bool IsMasked { get; private set; }
+
+ public bool IsMasked { get; private set; }
public ulong Length
{
@@ -154,6 +155,7 @@ namespace WebSocketSharp.Frame
{
mask(ExtensionData, maskingKey);
}
+
if (ApplicationData.LongLength > 0)
{
mask(ApplicationData, maskingKey);
diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs
index 5af088e5..8f47db3f 100644
--- a/websocket-sharp/WebSocket.cs
+++ b/websocket-sharp/WebSocket.cs
@@ -126,10 +126,7 @@ namespace WebSocketSharp
{
case WsState.OPEN:
messageThreadStart();
- if (OnOpen != null)
- {
- OnOpen(this, EventArgs.Empty);
- }
+ OnOpen.Emit(this, EventArgs.Empty);
break;
case WsState.CLOSING:
break;
@@ -229,14 +226,14 @@ namespace WebSocketSharp
else if (_readyState == WsState.CONNECTING)
{
ReadyState = WsState.CLOSED;
- emitOnClose(data);
+ OnClose.Emit(this, new CloseEventArgs(data));
return;
}
ReadyState = WsState.CLOSING;
}
- emitOnClose(data);
+ OnClose.Emit(this, new CloseEventArgs(data));
var frame = new WsFrame(Opcode.CLOSE, data);
closeHandshake(frame);
#if DEBUG
@@ -428,27 +425,14 @@ namespace WebSocketSharp
ReadyState = WsState.OPEN;
}
- private void emitOnClose(PayloadData data)
- {
- if (OnClose != null)
- {
- OnClose(this, new CloseEventArgs(data));
- }
- }
-
private void error(string message)
{
+ #if DEBUG
var callerFrame = new StackFrame(1);
var caller = callerFrame.GetMethod();
-
- if (OnError != null)
- {
- OnError(this, new MessageEventArgs(message));
- }
- else
- {
- Console.WriteLine("WS: Error@{0}: {1}", caller.Name, message);
- }
+ Console.WriteLine("WS: Error@{0}: {1}", caller.Name, message);
+ #endif
+ OnError.Emit(this, new MessageEventArgs(message));
}
private bool isValidResponse(string[] response, out string message)
@@ -548,9 +532,9 @@ namespace WebSocketSharp
{
eventArgs = receive();
- if (OnMessage != null && eventArgs != null)
+ if (eventArgs != null)
{
- OnMessage(this, eventArgs);
+ OnMessage.Emit(this, eventArgs);
}
}
catch (WsReceivedTooBigMessageException ex)
@@ -630,17 +614,11 @@ namespace WebSocketSharp
else if (frame.Opcode == Opcode.PING)
{// FINAL & PING
pong(frame.PayloadData);
- if (OnMessage != null)
- {
- OnMessage(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
- }
+ OnMessage.Emit(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
else if (frame.Opcode == Opcode.PONG)
{// FINAL & PONG
- if (OnMessage != null)
- {
- OnMessage(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
- }
+ OnMessage.Emit(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
else
{// FINAL & (TEXT | BINARY)
diff --git a/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll b/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll
index 61b45ff1..4b8d81cb 100755
Binary files a/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll and b/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll differ
diff --git a/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb b/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb
index 76685d78..f26ae797 100644
Binary files a/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb and b/websocket-sharp/bin/Debug_Ubuntu/websocket-sharp.dll.mdb differ
diff --git a/websocket-sharp/bin/Release/websocket-sharp.dll b/websocket-sharp/bin/Release/websocket-sharp.dll
index 79e587c5..0096e74e 100755
Binary files a/websocket-sharp/bin/Release/websocket-sharp.dll and b/websocket-sharp/bin/Release/websocket-sharp.dll differ
diff --git a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll
index 05099c68..eed7a63f 100755
Binary files a/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll and b/websocket-sharp/bin/Release_Ubuntu/websocket-sharp.dll differ
diff --git a/websocket-sharp/websocket-sharp.pidb b/websocket-sharp/websocket-sharp.pidb
index 2f4fa8ed..566f78e9 100644
Binary files a/websocket-sharp/websocket-sharp.pidb and b/websocket-sharp/websocket-sharp.pidb differ