| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| flow.RegisterProtocol(Name, Bidi{}) |
| // Bidi protocol represents the protocol to make a bidirectional RPC. Dial, Resolve, and Listen |
| // all fail on the Bidi protocol because the RoutingID of the end server must already be in the |
| // flow.Manager's cache for the bidirectional call to succeed. |
| func (Bidi) Dial(ctx *context.T, network, address string, timeout time.Duration) (flow.Conn, error) { |
| return nil, NewErrBidiRoutingIdNotCached(ctx) |
| func (Bidi) Resolve(ctx *context.T, network, address string) (string, string, error) { |
| return "", "", NewErrBidiRoutingIdNotCached(ctx) |
| func (Bidi) Listen(ctx *context.T, network, address string) (flow.Listener, error) { |
| return nil, NewErrCannotListenOnBidi(ctx) |