/// <summary> /// Creates na new <see cref="ProcedureContext"/> object used to schedule remote procedure call. /// </summary> /// <param name="message">Call message used for RPC request</param> /// <param name="definition">Definition of procedure to be called</param> /// <param name="session">WAMP message sender session object</param> /// <returns></returns> public virtual ProcedureContext CreateProcedureContext(CallMessage message, ProcedureDefinition definition, IWampSession session) { var procedureContext = new ProcedureContext { Arguments = message.Arguments, CallId = message.CallId, ProcedureDefinition = definition, RequesterSession = session }; return procedureContext; }
/// <summary> /// Registers na new procedure to be callable using RPC mechanism. /// </summary> /// <param name="procedureDefinition">Definition of remote procedure</param> public virtual void RegisterProcedure(ProcedureDefinition procedureDefinition) { procedureDefinition.ProcedureUri = GetProcedureUri(procedureDefinition.ProcedureUri); if (Procedures.ContainsKey(procedureDefinition.ProcedureUri)) Procedures[procedureDefinition.ProcedureUri] = procedureDefinition; else Procedures.Add(procedureDefinition.ProcedureUri, procedureDefinition); }