public IPromisse <TResult> Schedule <TResult>(MetaOperation operation) { _requestMessager.PushMessage(operation.Encode()); return(new Promisse <TResult>( () => { var message = _responseMessager.PopMessage(); var response = message.Decode <MetaOperation>(); return (TResult)response.Result; })); }
/// <summary> /// Implements the constructor: MetaOperation() /// Direct superclasses: global::MetaDslx.Core.MetaFunction /// All superclasses: global::MetaDslx.Core.MetaFunction, global::MetaDslx.Core.MetaTypedElement, global::MetaDslx.Core.MetaNamedElement, global::MetaDslx.Core.MetaDocumentedElement, global::MetaDslx.Core.MetaAnnotatedElement /// Initializes the following readonly properties: /// MetaFunction.Type /// </summary> public virtual void MetaOperation(MetaOperation @this) { this.MetaFunction(@this); }
public string GetImmBldReturn(MetaModel mmodel, MetaOperation operation, ClassKind kind) { return(this.GetImmBldConversion(mmodel, operation.ReturnType, kind)); }
/// <summary> /// Schedules the operation specified by its metadata. /// </summary> /// <typeparam name="TResult">The type of the result.</typeparam> /// <param name="metaOperation">The meta operation.</param> /// <returns>A promisse of result.</returns> internal static IPromisse <TResult> Schedule <TResult>(MetaOperation metaOperation) { var scheduler = GetScheduler(); return(scheduler.Schedule <TResult>(metaOperation)); }