public override BinaryMessageBase Read() { byte[] buffer = new byte[EncodingConstants.MAX_MESSAGE_LENGTH]; BinaryMessageBase receivedMessage = null; lock (ReadMonitor) { try { buffer = _communicator.Read(); receivedMessage = MessageManager.Decode(buffer); } catch (SocketException) { Close(); } catch (IOException) { Close(); } catch (BinaryEncodingException) { Console.WriteLine("BinaryEncodingException: Decode"); } } return(receivedMessage); }
public void ListenMessages() { lock (SocketMonitor) { IsListeningMessages = true; do { BinaryMessageBase receivedMessage = Read(); if (MessageReceivedEvent != null) { MessageReceivedEvent(this, new MessageEventArgs(receivedMessage)); } } while (IsListeningMessages); } }
public void ListenOneMessage() { if (IsListeningMessages) { return; } lock (SocketMonitor) { BinaryMessageBase receivedMessage = Read(); if (MessageReceivedEvent != null) { MessageReceivedEvent(this, new MessageEventArgs(receivedMessage)); } } }
public override void Send(BinaryMessageBase message) { lock (SendMonitor) { try { var buffer = MessageManager.Encode(message); _communicator.Write(buffer); } catch (SocketException) { Close(); } catch (IOException) { Close(); } catch (BinaryEncodingException) { Console.WriteLine("BinaryEncodingException: Encode"); } } }
public byte[] GetEncoding(BinaryMessageBase message) { return message.GetEncoding(); }
public void SendToSuperPeer(BinaryMessageBase message) { _superPeerClient.Send(message); }
public override void Send(BinaryMessageBase message) { throw new System.NotImplementedException(); }
public MessageEventArgs(BinaryMessageBase message) { Message = message; }
public byte[] GetEncoding(BinaryMessageBase message) { return(message.GetEncoding()); }
public abstract void Send(BinaryMessageBase message);