/// <summary> /// Respond with a message /// </summary> /// <param name="message"></param> /// <param name="statusCode"></param> public void Respond(IMessage message, EResponseStatus statusCode = EResponseStatus.Default) { message.Status = statusCode; if (AckResponseId.HasValue) { message.AckResponseId = AckResponseId.Value; } Peer.SendMessage(message, EDeliveryMethod.Reliable); }
private void CancelAck(int ackId, EResponseStatus eResponseCode) { lock (_acks) { ResponseCallback ackCallback; _acks.TryGetValue(ackId, out ackCallback); if (ackCallback == null) { return; } _acks.Remove(ackId); ackCallback(eResponseCode, _timeoutMessage); } }
protected void TriggerAck(int ackId, EResponseStatus statusCode, IIncommingMessage message) { lock (_acks) { ResponseCallback ackCallback; _acks.TryGetValue(ackId, out ackCallback); if (ackCallback == null) { return; } _acks.Remove(ackId); ackCallback(statusCode, message); } }
public void Respond(object type, BaseFormater msg, EResponseStatus responseStatus = EResponseStatus.Default) { Respond(MessageHelper.Create((short)type, msg.ToBytes()), responseStatus); }
public void Respond(int response, EResponseStatus statusCode = EResponseStatus.Default) { Respond(MessageHelper.Create(OpCode, response), statusCode); }
public void Respond(string message, EResponseStatus statusCode = EResponseStatus.Default) { Respond(message.ToBytes(), statusCode); }
/// <summary> /// Respond with data (message is created internally) /// </summary> /// <param name="data"></param> /// <param name="statusCode"></param> public void Respond(ISerializablePacket packet, EResponseStatus statusCode = EResponseStatus.Default) { Respond(MessageHelper.Create(OpCode, packet.ToBytes()), statusCode); }
/// <summary> /// Respond with data (message is created internally) /// </summary> /// <param name="data"></param> /// <param name="statusCode"></param> public void Respond(byte[] data, EResponseStatus statusCode = EResponseStatus.Default) { Respond(MessageHelper.Create(OpCode, data), statusCode); }
public void SetOtherResult(EResponseStatus status, string message = null) { Status = status; Message = message; }
public static bool IsFailure(this EResponseStatus status) => !status.IsSuccess();
public static bool IsSuccess(this EResponseStatus status) => status == EResponseStatus.Success;