Ejemplo n.º 1
0
 [PublicAPI] public static void SetVoid <TReq>(this IRdEndpoint <TReq, Unit> endpoint, Action <TReq> handler)
 {
     endpoint.Set(req =>
     {
         handler(req);
         return(Unit.Instance);
     });
 }
Ejemplo n.º 2
0
 [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));
     }
 }
     );
Ejemplo n.º 4
0
 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
                        ));
Ejemplo n.º 5
0
 [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);
 }
Ejemplo n.º 6
0
 [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);
 }
Ejemplo n.º 7
0
 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);
Ejemplo n.º 8
0
 [PublicAPI] public static void Set <TReq, TRes>(this IRdEndpoint <TReq, TRes> endpoint, Func <TReq, TRes> handler)
 {
     endpoint.Set((_, req) => RdTask <TRes> .Successful(handler(req)));
 }
Ejemplo n.º 9
0
 [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());
 }