public static void Error (this IWampError <object> client, WampMessageType messageType, long requestId, WampException exception) { client.WampExceptionError(messageType, requestId, exception); }
public static void Error <TMessage> (this IWampError <TMessage> client, WampMessageType messageType, long requestId, TMessage details, string error) { client.Error((int)messageType, requestId, details, error); }
private static void WampExceptionError (this IWampError <object> client, WampMessageType messageType, long requestId, WampException exception) { IWampErrorCallback callback = new WampErrorCallback(client, messageType, requestId); callback.Error(exception); }
public static void Error <TMessage> (this IWampError <TMessage> client, WampMessageType messageType, long requestId, TMessage details, string error, TMessage[] arguments, TMessage argumentsKeywords) { client.Error((int)messageType, requestId, details, error, arguments, argumentsKeywords); }
/// <summary> /// Creates a new <see cref="WampMethodInfo"/> given a /// <see cref="MethodInfo"/>. /// </summary> /// <param name="method">The given method to obtain information /// from.</param> public WampMethodInfo(MethodInfo method) { mMethod = method; WampHandlerAttribute handlerAttribute = method.GetCustomAttribute <WampHandlerAttribute>(true); if (handlerAttribute != null) { mMessageType = handlerAttribute.MessageType; } else { mMessageType = WampMessageType.Unknown; } ParameterInfo[] parameters = method.GetParameters(); mParameters = parameters; List <ParameterInfo> parametersToConvert = mParameters.ToList(); if (parameters.Length > 0) { if (parameters[0].IsDefined(typeof(WampProxyParameterAttribute), true)) { mHasWampClientArgument = true; parametersToConvert.RemoveAt(0); } ParameterInfo lastParameter = parameters.Last(); if (lastParameter.IsDefined(typeof(ParamArrayAttribute), true)) { mHasParamsArgument = true; } if (typeof(WampMessage <>).IsGenericAssignableFrom(lastParameter.ParameterType)) { mIsRawMethod = true; parametersToConvert.RemoveAt(parametersToConvert.Count - 1); } } mTotalArgumentsCount = parameters.Length; mArgumentsCount = mTotalArgumentsCount; mParametersToConvert = parametersToConvert.ToArray(); if (mHasWampClientArgument) { mArgumentsCount = mArgumentsCount - 1; } }
public void Error(int requestType, long requestId, TMessage details, string error, TMessage[] arguments, TMessage argumentsKeywords) { WampMessageType messageType = (WampMessageType)requestType; switch (messageType) { case WampMessageType.v2Register: { mInstance.RegisterError(requestId, details, error, arguments, argumentsKeywords); break; } case WampMessageType.v2Unregister: { mInstance.UnregisterError(requestId, details, error, arguments, argumentsKeywords); break; } case WampMessageType.v2Call: { mInstance.CallError(requestId, details, error, arguments, argumentsKeywords); break; } case WampMessageType.v2Subscribe: { mInstance.SubscribeError(requestId, details, error, arguments, argumentsKeywords); break; } case WampMessageType.v2Unsubscribe: { mInstance.UnsubscribeError(requestId, details, error, arguments, argumentsKeywords); break; } case WampMessageType.v2Publish: { mInstance.PublishError(requestId, details, error, arguments, argumentsKeywords); break; } } }
public WampMessage <object> SerializeRequest(MethodInfo method, object[] arguments) { mLogger.DebugFormat("Calling remote peer proxy method: {0}", method); WampMethodInfo wampMethod = GetWampMethod(method); WampMessageType messageType = wampMethod.MessageType; WampMessage <object> result = new WampMessage <object>() { MessageType = messageType }; List <object> argumentsToSerialize = arguments.ToList(); if (wampMethod.HasWampClientArgument) { argumentsToSerialize.RemoveAt(0); } object[] paramsArgument = null; if (wampMethod.HasParamsArgument) { paramsArgument = (object[])argumentsToSerialize.Last(); argumentsToSerialize.RemoveAt(argumentsToSerialize.Count - 1); } List <object> messageArguments = argumentsToSerialize.ToList(); if (wampMethod.HasParamsArgument) { messageArguments.AddRange(paramsArgument); } result.Arguments = messageArguments.ToArray(); return(result); }
/// <summary> /// Initializes a new instance of <see cref="WampHandlerAttribute"/> /// with the given <see cref="MessageType"/>. /// </summary> /// <param name="messageType">The <see cref="WampMessageType"/> this /// method handles</param> public WampHandlerAttribute(WampMessageType messageType) { MessageType = messageType; }
public WampErrorCallback(IWampError <object> callback, WampMessageType messageType, long requestId) { mCallback = callback; mMessageType = messageType; mRequestId = requestId; }
/// <summary> /// Initializes a new instance of <see cref="WampHandlerAttribute"/> /// with the given <see cref="MessageType"/>. /// </summary> /// <param name="messageType">The <see cref="WampMessageType"/> this /// method handles</param> public WampHandlerAttribute(WampMessageType messageType) { mMessageType = messageType; }
public WampDetailsOptionsAttribute(WampMessageType messageType) { mMessageType = messageType; }
/// <summary> /// Initializes a new instance of <see cref="WampErrorHandlerAttribute"/>. /// </summary> /// <param name="messageType">The <see cref="WampMessageType"/> /// this error handler handles.</param> public WampErrorHandlerAttribute(WampMessageType messageType) { mMessageType = messageType; }