From 689e0600a6ff188572cf9823e739e2f0ed453ebf Mon Sep 17 00:00:00 2001 From: sta Date: Mon, 3 Apr 2017 17:09:53 +0900 Subject: [PATCH] [Modify] Throw exceptions --- .../Server/WebSocketServiceManager.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/websocket-sharp/Server/WebSocketServiceManager.cs b/websocket-sharp/Server/WebSocketServiceManager.cs index 7ccd55bb..ba9eab5a 100644 --- a/websocket-sharp/Server/WebSocketServiceManager.cs +++ b/websocket-sharp/Server/WebSocketServiceManager.cs @@ -652,15 +652,18 @@ namespace WebSocketSharp.Server /// public void BroadcastAsync (string data, Action completed) { - var msg = _state.CheckIfAvailable (false, true, false) ?? - WebSocket.CheckSendParameter (data); - - if (msg != null) { - _logger.Error (msg); - return; + if (_state != ServerState.Start) { + var msg = "The current state of the manager is not Start."; + throw new InvalidOperationException (msg); } - var bytes = data.UTF8Encode (); + if (data == null) + throw new ArgumentNullException ("data"); + + byte[] bytes; + if (!data.TryGetUTF8EncodedBytes (out bytes)) + throw new ArgumentException ("It could not be UTF-8-encoded.", "data"); + if (bytes.LongLength <= WebSocket.FragmentLength) broadcastAsync (Opcode.Text, bytes, completed); else