[PublicAPI] public static void SetVoid <TReq>(this IRdEndpoint <TReq, Unit> endpoint, Action <TReq> handler) { endpoint.Set(req => { handler(req); return(Unit.Instance); }); }
[PublicAPI] public static void SetVoid <TReq>(this IRdEndpoint <TReq, Unit> endpoint, Action <TReq> handler, IScheduler cancellationScheduler = null, IScheduler handlerScheduler = null) { endpoint.Set(req => { handler(req); return(Unit.Instance); }, cancellationScheduler, handlerScheduler); }
public static void SetWithReadLock <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <TReq, TRes> func) => endpoint.Set( argument => { using (ReadLockCookie.Create()) { return(func(argument)); } } );
protected void MapWithAstManager <TNode, TElement, TRes>( [NotNull] IRdEndpoint <CodeElementModel, TRes> ep, [NotNull] Func <TNode, TRes> psiMapper, [NotNull] Func <TElement, TRes> declaredElementMapper, [NotNull] Func <IArrayType, TRes> typeMapper ) where TNode : ITreeNode where TElement : IDeclaredElement => ep.SetWithReadLock(codeElementModel => AstManager.MapElement( codeElementModel.Id, psiMapper, declaredElementMapper, typeMapper ));
[PublicAPI] public static void Set <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <TReq, TRes> handler, IScheduler cancellationScheduler = null, IScheduler handlerScheduler = null) { endpoint.Set((_, req) => RdTask <TRes> .Successful(handler(req)), cancellationScheduler, handlerScheduler); }
[PublicAPI] public static void Set <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <Lifetime, TReq, Task <TRes> > handler, IScheduler cancellationScheduler = null, IScheduler handlerScheduler = null) { endpoint.Set((lt, req) => handler(lt, req).ToRdTask(), cancellationScheduler, handlerScheduler); }
protected void MapWithAstManager <TRes>( [NotNull] IRdEndpoint <CodeElementModel, TRes> ep, [NotNull] Func <ITreeNode, TRes> psiMapper, [NotNull] Func <IDeclaredElement, TRes> declaredElementMapper, [NotNull] Func <IType, TRes> typeMapper ) => MapWithAstManager <ITreeNode, IDeclaredElement, TRes>(ep, psiMapper, declaredElementMapper, typeMapper);
[PublicAPI] public static void Set <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <TReq, TRes> handler) { endpoint.Set((_, req) => RdTask <TRes> .Successful(handler(req))); }
[PublicAPI] public static void Set <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <Lifetime, TReq, Task <TRes> > handler) { endpoint.Set((lt, req) => handler(lt, req).ToRdTask()); }