protected virtual async Task <IGetOperationResult> PerformGetCore(string key, ulong cas) { try { var op = opFactory.Get(keyTransformer.Transform(key), cas); await cluster.Execute(op).ConfigureAwait(false); return(op.Result); } catch (IOException e) { return(new GetOperationResult().FailWith(e)); } }
private static void OverrideOperation <OperationType, TypeToOverride, TypeToOverrideBy>(AbstractFactory <AbstractCallable> sim) where TypeToOverrideBy : AbstractCallable, OperationType where TypeToOverride : AbstractCallable, OperationType { IOperationFactory factory = sim as IOperationFactory; Debug.Assert(factory != null); OperationType op = factory.Get <OperationType, TypeToOverrideBy>(); sim.Register(typeof(TypeToOverride), op.GetType(), typeof(OperationType)); }
private static Action GetTest <T>(IOperationFactory sim) where T : AbstractCallable, ICallable <QVoid, QVoid> { return(() => sim.Get <ICallable <QVoid, QVoid>, T>().Apply(QVoid.Instance)); }