using System; using System.Threading.Tasks; namespace Capnp.Rpc { /// /// A promised answer due to RPC. /// /// /// Disposing the instance before the answer is available results in a best effort attempt to cancel /// the ongoing call. /// public interface IPromisedAnswer: IDisposable { /// /// Task which will complete when the RPC returns, delivering its result struct. /// Task WhenReturned { get; } /// /// Creates a low-level capability for promise pipelining. /// /// Path to the desired capability inside the result struct. /// Pipelined low-level capability ConsumedCapability? Access(MemberAccessPath access); /// /// /// /// Creates a low-level capability for promise pipelining. /// Task returning the proxy whose ownership will be taken over /// ConsumedCapability? Access(MemberAccessPath access, Task proxyTask); } }