blob: d70852b2a7f831cc4c1b52dd015fcd797a437000 [file] [log] [blame]
Matt Rosencrantz9fe60822014-09-12 10:09:53 -07001package runtime
2
3import (
Jiri Simsa519c5072014-09-17 21:37:57 -07004 "veyron.io/veyron/veyron2"
5 "veyron.io/veyron/veyron2/config"
6 "veyron.io/veyron/veyron2/context"
7 "veyron.io/veyron/veyron2/ipc"
8 "veyron.io/veyron/veyron2/ipc/stream"
9 "veyron.io/veyron/veyron2/naming"
10 "veyron.io/veyron/veyron2/security"
11 "veyron.io/veyron/veyron2/vlog"
12 "veyron.io/veyron/veyron2/vtrace"
Matt Rosencrantz9fe60822014-09-12 10:09:53 -070013)
14
15// PanicRuntime is a dummy implementation of veyron2.Runtime that panics on every
16// operation. This is useful when you want to pass around a non-nil runtime
17// implementation but you don't want it to be used.
18type PanicRuntime struct {
19 unique int // Make non-empty to ensure pointer instances are unique.
20}
21
22const badRuntime = "The runtime implmentation should not call methods on runtime intances."
23
24func (*PanicRuntime) Profile() veyron2.Profile { panic(badRuntime) }
Cosmos Nicolaou39e3ae52014-11-14 13:30:01 -080025func (*PanicRuntime) AppCycle() veyron2.AppCycle { panic(badRuntime) }
Matt Rosencrantz9fe60822014-09-12 10:09:53 -070026func (*PanicRuntime) Publisher() *config.Publisher { panic(badRuntime) }
Ankur7c890592014-10-02 11:36:28 -070027func (*PanicRuntime) Principal() security.Principal { panic(badRuntime) }
Matt Rosencrantz9fe60822014-09-12 10:09:53 -070028func (*PanicRuntime) NewClient(opts ...ipc.ClientOpt) (ipc.Client, error) { panic(badRuntime) }
29func (*PanicRuntime) NewServer(opts ...ipc.ServerOpt) (ipc.Server, error) { panic(badRuntime) }
30func (*PanicRuntime) Client() ipc.Client { panic(badRuntime) }
31func (*PanicRuntime) NewContext() context.T { panic(badRuntime) }
32func (*PanicRuntime) WithNewSpan(context.T, string) (context.T, vtrace.Span) { panic(badRuntime) }
33func (*PanicRuntime) SpanFromContext(context.T) vtrace.Span { panic(badRuntime) }
34func (*PanicRuntime) NewStreamManager(opts ...stream.ManagerOpt) (stream.Manager, error) {
35 panic(badRuntime)
36}
37func (*PanicRuntime) NewEndpoint(ep string) (naming.Endpoint, error) { panic(badRuntime) }
38func (*PanicRuntime) Namespace() naming.Namespace { panic(badRuntime) }
39func (*PanicRuntime) Logger() vlog.Logger { panic(badRuntime) }
40func (*PanicRuntime) NewLogger(name string, opts ...vlog.LoggingOpts) (vlog.Logger, error) {
41 panic(badRuntime)
42}
Cosmos Nicolaou6413c992014-11-06 11:00:54 -080043func (*PanicRuntime) ConfigureReservedName(ipc.Dispatcher, ...ipc.ServerOpt) {
Cosmos Nicolaou8246a8b2014-11-01 09:32:36 -070044 panic(badRuntime)
45}
Matt Rosencrantzb30286b2014-11-10 14:52:17 -080046func (*PanicRuntime) VtraceStore() vtrace.Store { panic(badRuntime) }
47func (*PanicRuntime) Cleanup() { panic(badRuntime) }