コード例 #1
0
func formatCapDescriptor(w io.Writer, c rpccapnp.CapDescriptor) {
	switch c.Which() {
	case rpccapnp.CapDescriptor_Which_none:
		fmt.Fprint(w, "none")
	case rpccapnp.CapDescriptor_Which_senderHosted:
		fmt.Fprintf(w, "sender-hosted %d", c.SenderHosted())
	case rpccapnp.CapDescriptor_Which_senderPromise:
		fmt.Fprintf(w, "sender promise %d", c.SenderPromise())
	case rpccapnp.CapDescriptor_Which_receiverHosted:
		fmt.Fprintf(w, "receiver-hosted %d", c.ReceiverHosted())
	case rpccapnp.CapDescriptor_Which_receiverAnswer:
		ans, _ := c.ReceiverAnswer()
		fmt.Fprint(w, "receiver answer ")
		formatPromisedAnswer(w, ans)
	case rpccapnp.CapDescriptor_Which_thirdPartyHosted:
		fmt.Fprint(w, "third-party hosted")
	default:
		fmt.Fprintf(w, "UNKNOWN CAPABILITY which=%v", c.Which())
	}
}