public void SendRaw(ArraySegment <byte> raw, EDeliveryMethod eMethod) { m_Peer.Send( raw.Array, raw.Offset, raw.Count, eMethod == EDeliveryMethod.Reliable ? DeliveryMethod.ReliableOrdered : DeliveryMethod.Unreliable); }
public static EXDeliveryMethod ToEXDeliveryMethod(this EDeliveryMethod method) { switch (method) { case EDeliveryMethod.Delivery: return(EXDeliveryMethod.Delivery); case EDeliveryMethod.PickUp: return(EXDeliveryMethod.PickUp); default: throw new ArgumentOutOfRangeException($"Unknown delivery method: {method}"); } }
/// <summary> /// Sends a message to peer /// </summary> /// <param name="message">Message to send</param> /// <param name="responseCallback">Callback method, which will be invoked when peer responds</param> /// <param name="timeoutSecs">If peer fails to respons within this time frame, callback will be invoked with timeout status</param> /// <param name="eDeliveryMethod">Delivery method</param> /// <returns></returns> public int SendMessage(IMessage message, ResponseCallback responseCallback, int timeoutSecs, EDeliveryMethod eDeliveryMethod) { if (!IsConnected) { responseCallback.Invoke(EResponseStatus.NotConnected, null); return(-1); } var id = RegisterAck(message, responseCallback, timeoutSecs); SendMessage(message, eDeliveryMethod); return(id); }
public override void SendMessage(IMessage message, EDeliveryMethod eDeliveryMethod) { if (_delayedMessages != null) { lock (_delayedMessages) { if (_delayedMessages != null) { _delayedMessages.Enqueue(message.ToBytes()); return; } } } _socket.Send(message.ToBytes()); }
public override void SendMessage(IMessage message, EDeliveryMethod eDeliveryMethod) { if (_delayedMessages != null) { // There's a bug in websockets // When server sends a message to client right after client // connects to it, the message is lost somewhere. // Sending first few messages with a small delay fixes this issue. lock (_delayedMessages) { if (_delayedMessages != null) { _delayedMessages.Enqueue(message.ToBytes()); return; } } } _session.SendData(message.ToBytes()); }
public void SendMessage(short opCode, ISerializablePacket packet, EDeliveryMethod method) { SendMessage(MessageHelper.Create(opCode, packet), method); }
public void SendMessage(short opCode, string data, EDeliveryMethod method) { var msg = MessageHelper.Create(opCode, data); Peer.SendMessage(msg, method); }
public void SendMessage(short opCode, byte[] data, EDeliveryMethod method = EDeliveryMethod.ReliableSequenced) { var msg = MessageHelper.Create(opCode, data); Peer?.SendMessage(msg, method); }
public void SendMessage(short opCode, ISerializablePacket packet, EDeliveryMethod method) { var msg = MessageHelper.Create(opCode, packet.ToBytes()); Peer.SendMessage(msg, method); }
public void SendMessage(IMessage message, EDeliveryMethod method) { Peer.SendMessage(message, method); }
public void SendRaw(ArraySegment <byte> raw, EDeliveryMethod _) { sendBuffer.Add(raw.ToArray()); }
public override void SendMessage(IMessage message, EDeliveryMethod eDeliveryMethod) { _peer.Send(message.ToBytes(), DeliveryMethod.ReliableSequenced); }
public void SendMessage(short opCode, byte[] data, EDeliveryMethod deliveryMethod = EDeliveryMethod.ReliableOrdered) { SendMessage(MessageHelper.Create(opCode, data), deliveryMethod); }
public override void SendMessage(IMessage message, EDeliveryMethod eDeliveryMethod) { _peer.Send(message.ToBytes(), (DeliveryMethod)(int)eDeliveryMethod); }
/// <summary> /// Sends a message to peer /// </summary> /// <param name="message">Message to send</param> /// <param name="eDeliveryMethod">Delivery method</param> /// <returns></returns> public abstract void SendMessage(IMessage message, EDeliveryMethod eDeliveryMethod);
public IncommingMessage(short opCode, byte flags, byte[] data, EDeliveryMethod eDeliveryMethod, IPeer peer) { OpCode = opCode; Peer = peer; _data = data; }
public void SendMessage(TMsgType type, byte[] data, EDeliveryMethod method = EDeliveryMethod.ReliableSequenced) { _client?.SendMessage((short)(object)type, data); }