private bool SendAsyncInternal(MeshClient client, MessageType msgType, long contentLength, Stream stream) { try { Message msg = new Message(_Self.Ip, _Self.Port, client.Peer.Ip, client.Peer.Port, 0, false, false, msgType, contentLength, stream); byte[] msgData = msg.ToBytes(); return(client.Send(msgData).Result); } catch (Exception e) { if (_Settings.Debug) { Console.WriteLine(Common.SerializeJson(e, true)); } return(false); } }
private bool SendAsyncInternal(MeshClient client, MessageType msgType, byte[] data) { try { Message msg = new Message(_Self.Ip, _Self.Port, client.Peer.Ip, client.Peer.Port, 0, false, false, msgType, data); byte[] msgData = msg.ToBytes(); return(client.Send(msgData).Result); } catch (Exception e) { if (_Settings.Debug) { Console.WriteLine("SendAsyncInternal Exception " + Environment.NewLine + Common.SerializeJson(e, true)); } return(false); } }
private bool SendSyncRequestInternal(MeshClient client, MessageType msgType, int timeoutMs, byte[] data, out byte[] response) { response = null; Message msg = new Message(_Self.Ip, _Self.Port, client.Peer.Ip, client.Peer.Port, timeoutMs, true, false, msgType, data); byte[] msgData = msg.ToBytes(); try { if (!AddSyncRequest(msg.Id, timeoutMs)) { return(false); } if (!client.Send(msgData).Result) { return(false); } return(GetSyncResponse(msg.Id, timeoutMs, out response)); } catch (Exception e) { if (_Settings.Debug) { Console.WriteLine(Common.SerializeJson(e, true)); } return(false); } finally { DateTime ts; if (_SyncRequests.ContainsKey(msg.Id)) { _SyncRequests.TryRemove(msg.Id, out ts); } } }
private bool SendSyncResponseInternal(MeshClient client, Message msg) { byte[] msgData = msg.ToBytes(); return(client.Send(msgData).Result); }