< Summary

Class:RPC.Transports.WebSocketClientTransport
Assembly:RPCHelpers
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/RPC/WebSocketClientTransport.cs
Covered lines:0
Uncovered lines:29
Coverable lines:29
Total lines:71
Line coverage:0% (0 of 29)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:9
Method coverage:0% (0 of 9)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
WebSocketClientTransport(...)0%2100%
Connect()0%2100%
SendMessage(...)0%2100%
Close()0%2100%
Dispose()0%2100%
HandleMessage(...)0%6200%
HandleError(...)0%6200%
HandleClose(...)0%6200%
HandleOpen()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/RPC/WebSocketClientTransport.cs

#LineLine coverage
 1using HybridWebSocket;
 2using System;
 3using ITransport = rpc_csharp.transport.ITransport;
 4
 5namespace RPC.Transports
 6{
 7    public class WebSocketClientTransport : ITransport
 8    {
 9        private readonly WebSocket webSocket;
 10
 11        public event Action OnCloseEvent;
 12        public event Action<string> OnErrorEvent;
 13        public event Action<byte[]> OnMessageEvent;
 14        public event Action OnConnectEvent;
 15
 016        public WebSocketClientTransport(string url)
 17        {
 018            webSocket = WebSocketFactory.CreateInstance(url);
 019            webSocket.OnMessage += this.HandleMessage;
 020            webSocket.OnError += this.HandleError;
 021            webSocket.OnClose += this.HandleClose;
 022            webSocket.OnOpen += this.HandleOpen;
 023        }
 24
 25        public void Connect() =>
 026            webSocket.Connect();
 27
 28        public void SendMessage(byte[] data)
 29        {
 030            webSocket.Send(data);
 031        }
 32
 33        public void Close()
 34        {
 035            webSocket.Close();
 036        }
 37
 38        public void Dispose()
 39        {
 040            OnCloseEvent = null;
 041            OnErrorEvent = null;
 042            OnMessageEvent = null;
 043            OnConnectEvent = null;
 44
 045            webSocket.OnMessage -= this.HandleMessage;
 046            webSocket.OnError -= this.HandleError;
 047            webSocket.OnClose -= this.HandleClose;
 048            webSocket.OnOpen -= this.HandleOpen;
 049        }
 50
 51        private void HandleMessage(byte[] data)
 52        {
 053            OnMessageEvent?.Invoke(data);
 054        }
 55
 56        private void HandleError(string errorMsg)
 57        {
 058            OnErrorEvent?.Invoke(errorMsg);
 059        }
 60
 61        private void HandleClose(WebSocketCloseCode closeCode)
 62        {
 063            OnCloseEvent?.Invoke();
 064        }
 65
 66        private void HandleOpen()
 67        {
 068            OnConnectEvent?.Invoke();
 069        }
 70    }
 71}