NativeContainerActivatorService.IFabricContainerApiExecutionResult NativeContainerActivatorService.IFabricContainerActivatorService.EndInvokeContainerApi(
            NativeCommon.IFabricAsyncOperationContext context)
        {
            var apiExecResponse = AsyncTaskCallInAdapter.End <ContainerApiExecutionResponse>(context);

            return(new FabricContainerApiExecutionResult(apiExecResponse));
        }
        NativeCommon.IFabricStringResult NativeContainerActivatorService.IFabricContainerActivatorService.EndActivateContainer(
            NativeCommon.IFabricAsyncOperationContext context)
        {
            var containerId = AsyncTaskCallInAdapter.End <string>(context);

            return(new StringResult(containerId));
        }
Exemplo n.º 3
0
        NativeCommon.IFabricStringListResult NativeGatewayResourceManager.IFabricGatewayResourceManager.EndQueryGatewayResources(
            NativeCommon.IFabricAsyncOperationContext context)
        {
            var queryResult = AsyncTaskCallInAdapter.End <List <string> >(context);

            return(new StringListResult(queryResult));
        }
        NativeRuntime.IFabricReplicator NativeRuntime.IFabricStatefulServiceReplica.EndOpen(NativeCommon.IFabricAsyncOperationContext context)
        {
            IReplicator replicator = AsyncTaskCallInAdapter.End <IReplicator>(context);

            // If it is the fabric replicator then return the actual native interface implementation
            // This will prevent going through a broker to translate native and managed code
            FabricReplicator fabricReplicator = replicator as FabricReplicator;

            if (fabricReplicator != null)
            {
                return(fabricReplicator.NativeReplicator);
            }

            // Return the broker that implements the correct native interfaces
            // If IReplicatorCatchupSpecificQuorum is supported return ReplicatorBroker2 (which derives from ReplicatorBroker and also implements IFabricReplicatorCatchupSpecificQuorum)
            // Else return ReplicatorBroker (which implements only IFabricReplicator and IFabricPrimaryReplicator)
            if (replicator is IReplicatorCatchupSpecificQuorum)
            {
                return(new ReplicatorBroker2(replicator));
            }
            else
            {
                return(new ReplicatorBroker(replicator));
            }
        }
Exemplo n.º 5
0
        private void CallbackIsReleasedTestHelper(bool completeSynchronously)
        {
            if (completeSynchronously)
            {
                this.asyncEvent.Set();
            }

            AsyncTaskCallInAdapter adapter = null;

            this.stub.OnInvokeAction = (c) =>
            {
                // during execution of the callback the NativeCallback object cannot be released
                // assert that that is true
                Assert.AreEqual(0, this.releaseComObjectStub.ReleaseCalls.Count);
            };

            adapter = this.CreateAdapter(this.stub, this.baseTask);

            // complete asynchrnously
            this.asyncEvent.Set();

            // wait until the task completes
            this.WaitUntilHelper(() => NativeTypes.FromBOOLEAN(adapter.IsCompleted()));

            // at this time, the callback should have completed and released
            Assert.AreEqual(1, this.releaseComObjectStub.ReleaseCalls.Count);
            Assert.AreSame(this.stub, this.releaseComObjectStub.ReleaseCalls[0]);
        }
Exemplo n.º 6
0
        NativeCommon.IFabricStringResult NativeGatewayResourceManager.IFabricGatewayResourceManager.EndUpdateOrCreateGatewayResource(
            NativeCommon.IFabricAsyncOperationContext context)
        {
            string gatewayResourceDescription = AsyncTaskCallInAdapter.End <string>(context);

            return(new StringResult(gatewayResourceDescription));
        }
Exemplo n.º 7
0
        public override NativeCommon.IFabricAsyncOperationContext BeginRegisterStatelessServiceFactory(IntPtr serviceType, NativeRuntime.IFabricStatelessServiceFactory factory, uint timeoutMilliseconds, NativeCommon.IFabricAsyncOperationCallback callback)
        {
            this.ServiceFactoryRegistrations.Add(new RegisterParameters(serviceType, false, factory as ServiceFactoryBroker, timeoutMilliseconds));
            this.WasLastCallSynchronous = false;

            AsyncTaskCallInAdapter adapter = new AsyncTaskCallInAdapter(callback, Task.Factory.StartNew(() => this.AsyncEvent.Wait()), InteropApi.Default);

            return(adapter);
        }
Exemplo n.º 8
0
        public void EndTResultReturnsResult()
        {
            int result = 5;

            var task = this.baseTask.ContinueWith <int>((t) => result);

            var adapter = this.CreateAdapter(null, task);

            this.asyncEvent.Set();

            Assert.AreEqual <int>(result, AsyncTaskCallInAdapter.End <int>(adapter));
        }
 public NativeClient.IFabricNodeTransitionProgressResult EndGetNodeTransitionProgress(NativeCommon.IFabricAsyncOperationContext context)
 {
     try
     {
         var nodeTransitionProgress = AsyncTaskCallInAdapter.End <NodeTransitionProgress>(context);
         return(new NodeTransitionProgressResult(nodeTransitionProgress));
     }
     catch (Exception e)
     {
         TestabilityTrace.TraceSource.WriteError(TraceType, "EndGetNodeTransitionProgress caught {0}", e);
         throw;
     }
 }
Exemplo n.º 10
0
        public void EndTranslatesExceptions()
        {
            var adapter = this.CreateAdapter(null, this.baseTask.ContinueWith((t) => { throw new ArgumentNullException(); }));

            this.asyncEvent.Set();

            try
            {
                AsyncTaskCallInAdapter.End(adapter);
                Assert.Fail("Expected ex");
            }
            catch (ArgumentNullException)
            {
            }
        }
        NativeCommon.IFabricStringResult NativeRuntime.IFabricStatefulServiceReplica.EndChangeRole(NativeCommon.IFabricAsyncOperationContext context)
        {
            string result = AsyncTaskCallInAdapter.End <string>(context);

            AppTrace.TraceSource.WriteNoise(
                "StatefulServiceReplicaBroker.ReplicaChangeRole",
                "ChangeRole result {0} for ServiceName {1}. Uri {2}. ReplicaId {3}. PartitionId {4}",
                result,
                this.initializationParameters.ServiceTypeName,
                this.initializationParameters.ServiceName,
                this.replicaId,
                this.initializationParameters.PartitionId);

            return(new StringResult(result));
        }
Exemplo n.º 12
0
        NativeCommon.IFabricStringResult NativeRuntime.IFabricStatelessServiceInstance.EndOpen(NativeCommon.IFabricAsyncOperationContext context)
        {
            string result = AsyncTaskCallInAdapter.End <string>(context);

            AppTrace.TraceSource.WriteNoise(
                "StatelessServiceBroker.OpenAsync",
                "OpenAsync result {0} for ServiceName {1}. Uri {2}. InstanceId {3}. PartitionId {4}",
                result,
                this.initializationParameters.ServiceTypeName,
                this.initializationParameters.ServiceName,
                this.instanceId,
                this.initializationParameters.PartitionId);

            return(new StringResult(result));
        }
 public void EndGetUpgradesPendingApproval(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
        public NativeCommon.IFabricStringResult EndGetClusterConfiguration(NativeCommon.IFabricAsyncOperationContext context)
        {
            var clusterConfiguration = AsyncTaskCallInAdapter.End <String>(context);

            return(new StringResult(clusterConfiguration));
        }
        NativeTokenValidationService.IFabricTokenClaimResult NativeTokenValidationService.IFabricTokenValidationService.EndValidateToken(NativeCommon.IFabricAsyncOperationContext context)
        {
            ClaimDescriptionList claims = AsyncTaskCallInAdapter.End <ClaimDescriptionList>(context);

            return(new FabricTokenClaimResult(claims));
        }
 void NativeRuntime.IFabricAtomicGroupStateProvider.EndUndoProgress(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
Exemplo n.º 17
0
 public void EndChangeRole(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
 void NativeRuntime.IFabricStatefulServiceReplica.EndClose(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
Exemplo n.º 19
0
 public BOOLEAN EndOnDataLoss(NativeCommon.IFabricAsyncOperationContext context)
 {
     return(NativeTypes.ToBOOLEAN(AsyncTaskCallInAdapter.End <bool>(context)));
 }
 public void EndUpgradeConfiguration(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
Exemplo n.º 21
0
        public void EndTResultCanBeCalledFromOnComplete()
        {
            var task = this.baseTask.ContinueWith <int>(t => 3);

            this.EndCanBeCalledFromOnCompleteHelper(task, (ad) => AsyncTaskCallInAdapter.End <int>(ad));
        }
Exemplo n.º 22
0
 public void EndCanBeCalledFromOnComplete()
 {
     this.EndCanBeCalledFromOnCompleteHelper(this.baseTask, (ad) => AsyncTaskCallInAdapter.End(ad));
 }
        public NativeServiceCommunication.IFabricServiceCommunicationMessage EndProcessRequest(NativeCommon.IFabricAsyncOperationContext context)
        {
            var body = AsyncTaskCallInAdapter.End <byte[]>(context);

            return(new FabricServiceCommunicationMessage(null, body));
        }
Exemplo n.º 24
0
 public void EndWaitForCatchUpQuorum(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
 public void EndStartApprovedUpgrades(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
Exemplo n.º 26
0
        public NativeCommon.IFabricStringResult EndOpen(NativeCommon.IFabricAsyncOperationContext context)
        {
            string result = AsyncTaskCallInAdapter.End <string>(context);

            return(new StringResult(result));
        }
        public NativeCommon.IFabricStringResult EndCallSystemService(NativeCommon.IFabricAsyncOperationContext context)
        {
            var outputBlob = AsyncTaskCallInAdapter.End <String>(context);

            return(new StringResult(outputBlob));
        }
Exemplo n.º 28
0
 public void EndUpdateEpoch(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }
        public NativeClient.IFabricOrchestrationUpgradeStatusResult EndGetClusterConfigurationUpgradeStatus(NativeCommon.IFabricAsyncOperationContext context)
        {
            var progress = AsyncTaskCallInAdapter.End <FabricOrchestrationUpgradeProgress>(context);

            return(new OrchestrationUpgradeResult(progress));
        }
Exemplo n.º 30
0
 public void EndBuildReplica(NativeCommon.IFabricAsyncOperationContext context)
 {
     AsyncTaskCallInAdapter.End(context);
 }