public async Task ProgressiveCallsCallerProgressCancelObservable() { WampPlayground playground = new WampPlayground(); CallerCallee dualChannel = await playground.GetCallerCalleeDualChannel(); IWampChannel calleeChannel = dualChannel.CalleeChannel; IWampChannel callerChannel = dualChannel.CallerChannel; var service = new LongOpObsService(); await calleeChannel.RealmProxy.Services.RegisterCallee(service); MyCallback callback = new MyCallback(); var invocation = callerChannel.RealmProxy.RpcCatalog.Invoke (callback, new CallOptions() { ReceiveProgress = true }, "com.myapp.longop", new object[] { 10, false }); Assert.That(service.State, Is.EqualTo(LongOpObsService.EState.Called)); invocation.Cancel(new CancelOptions()); Assert.That(service.State, Is.EqualTo(LongOpObsService.EState.Cancelled)); }
public async Task ProgressiveCallsCallerProgressObservable() { WampPlayground playground = new WampPlayground(); CallerCallee dualChannel = await playground.GetCallerCalleeDualChannel(); IWampChannel calleeChannel = dualChannel.CalleeChannel; IWampChannel callerChannel = dualChannel.CallerChannel; var service = new LongOpObsService(); await calleeChannel.RealmProxy.Services.RegisterCallee(service); MyCallback callback = new MyCallback(); callerChannel.RealmProxy.RpcCatalog.Invoke (callback, new CallOptions() { ReceiveProgress = true }, "com.myapp.longop", new object[] { 10, false }); Assert.That(service.State, Is.EqualTo(LongOpObsService.EState.Called)); Assert.That(callback.Task.Result, Is.EqualTo(-1)); CollectionAssert.AreEquivalent(Enumerable.Range(0, 10), callback.ProgressiveResults); Assert.That(service.State, Is.EqualTo(LongOpObsService.EState.Completed)); }