namespace Capnp.Rpc { /// /// Helper struct to support tail calls /// public struct AnswerOrCounterquestion { readonly object _obj; AnswerOrCounterquestion(object obj) { _obj = obj; } /// /// Wraps a SerializerState /// /// object to wrap public static implicit operator AnswerOrCounterquestion (SerializerState answer) { return new AnswerOrCounterquestion(answer); } /// /// Wraps a PendingQuestion /// /// object to wrap public static implicit operator AnswerOrCounterquestion (PendingQuestion counterquestion) { return new AnswerOrCounterquestion(counterquestion); } /// /// SerializerState, if applicable /// public SerializerState? Answer => _obj as SerializerState; /// /// PendingQuestion, if applicable /// public PendingQuestion? Counterquestion => _obj as PendingQuestion; } }