blob: 9d0933a1b392d9d6fd906987d3f8f74172bffb7c [file] [log] [blame]
// This file was auto-generated by the veyron vdl tool.
// Source: wire.vdl
package server
import (
// VDL system imports
"io"
"v.io/core/veyron2"
"v.io/core/veyron2/context"
"v.io/core/veyron2/ipc"
// VDL user imports
"v.io/core/veyron2/security"
)
// AgentClientMethods is the client interface
// containing Agent methods.
type AgentClientMethods interface {
Bless(ctx *context.T, key []byte, wit security.WireBlessings, extension string, caveat security.Caveat, additionalCaveats []security.Caveat, opts ...ipc.CallOpt) (security.WireBlessings, error)
BlessSelf(ctx *context.T, name string, caveats []security.Caveat, opts ...ipc.CallOpt) (security.WireBlessings, error)
Sign(ctx *context.T, message []byte, opts ...ipc.CallOpt) (security.Signature, error)
MintDischarge(ctx *context.T, forCaveat security.Caveat, caveatOnDischarge security.Caveat, additionalCaveatsOnDischarge []security.Caveat, opts ...ipc.CallOpt) (security.WireDischarge, error)
PublicKey(*context.T, ...ipc.CallOpt) ([]byte, error)
BlessingsByName(ctx *context.T, name security.BlessingPattern, opts ...ipc.CallOpt) ([]security.WireBlessings, error)
BlessingsInfo(ctx *context.T, blessings security.WireBlessings, opts ...ipc.CallOpt) (map[string][]security.Caveat, error)
AddToRoots(ctx *context.T, blessing security.WireBlessings, opts ...ipc.CallOpt) error
BlessingStoreSet(ctx *context.T, blessings security.WireBlessings, forPeers security.BlessingPattern, opts ...ipc.CallOpt) (security.WireBlessings, error)
BlessingStoreForPeer(ctx *context.T, peerBlessings []string, opts ...ipc.CallOpt) (security.WireBlessings, error)
BlessingStoreSetDefault(ctx *context.T, blessings security.WireBlessings, opts ...ipc.CallOpt) error
BlessingStoreDefault(*context.T, ...ipc.CallOpt) (security.WireBlessings, error)
BlessingStorePeerBlessings(*context.T, ...ipc.CallOpt) (map[security.BlessingPattern]security.WireBlessings, error)
BlessingStoreDebugString(*context.T, ...ipc.CallOpt) (string, error)
BlessingRootsAdd(ctx *context.T, root []byte, pattern security.BlessingPattern, opts ...ipc.CallOpt) error
BlessingRootsRecognized(ctx *context.T, root []byte, blessing string, opts ...ipc.CallOpt) error
BlessingRootsDebugString(*context.T, ...ipc.CallOpt) (string, error)
// Clients using caching should call NotifyWhenChanged upon connecting to
// the server. The server will stream back values whenever the client should
// flush the cache. The streamed value is arbitrary, simply flush whenever
// recieving a new item.
NotifyWhenChanged(*context.T, ...ipc.CallOpt) (AgentNotifyWhenChangedCall, error)
}
// AgentClientStub adds universal methods to AgentClientMethods.
type AgentClientStub interface {
AgentClientMethods
ipc.UniversalServiceMethods
}
// AgentClient returns a client stub for Agent.
func AgentClient(name string, opts ...ipc.BindOpt) AgentClientStub {
var client ipc.Client
for _, opt := range opts {
if clientOpt, ok := opt.(ipc.Client); ok {
client = clientOpt
}
}
return implAgentClientStub{name, client}
}
type implAgentClientStub struct {
name string
client ipc.Client
}
func (c implAgentClientStub) c(ctx *context.T) ipc.Client {
if c.client != nil {
return c.client
}
return veyron2.GetClient(ctx)
}
func (c implAgentClientStub) Bless(ctx *context.T, i0 []byte, i1 security.WireBlessings, i2 string, i3 security.Caveat, i4 []security.Caveat, opts ...ipc.CallOpt) (o0 security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "Bless", []interface{}{i0, i1, i2, i3, i4}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessSelf(ctx *context.T, i0 string, i1 []security.Caveat, opts ...ipc.CallOpt) (o0 security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessSelf", []interface{}{i0, i1}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) Sign(ctx *context.T, i0 []byte, opts ...ipc.CallOpt) (o0 security.Signature, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "Sign", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) MintDischarge(ctx *context.T, i0 security.Caveat, i1 security.Caveat, i2 []security.Caveat, opts ...ipc.CallOpt) (o0 security.WireDischarge, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "MintDischarge", []interface{}{i0, i1, i2}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) PublicKey(ctx *context.T, opts ...ipc.CallOpt) (o0 []byte, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "PublicKey", nil, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingsByName(ctx *context.T, i0 security.BlessingPattern, opts ...ipc.CallOpt) (o0 []security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingsByName", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingsInfo(ctx *context.T, i0 security.WireBlessings, opts ...ipc.CallOpt) (o0 map[string][]security.Caveat, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingsInfo", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) AddToRoots(ctx *context.T, i0 security.WireBlessings, opts ...ipc.CallOpt) (err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "AddToRoots", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish()
return
}
func (c implAgentClientStub) BlessingStoreSet(ctx *context.T, i0 security.WireBlessings, i1 security.BlessingPattern, opts ...ipc.CallOpt) (o0 security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStoreSet", []interface{}{i0, i1}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingStoreForPeer(ctx *context.T, i0 []string, opts ...ipc.CallOpt) (o0 security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStoreForPeer", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingStoreSetDefault(ctx *context.T, i0 security.WireBlessings, opts ...ipc.CallOpt) (err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStoreSetDefault", []interface{}{i0}, opts...); err != nil {
return
}
err = call.Finish()
return
}
func (c implAgentClientStub) BlessingStoreDefault(ctx *context.T, opts ...ipc.CallOpt) (o0 security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStoreDefault", nil, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingStorePeerBlessings(ctx *context.T, opts ...ipc.CallOpt) (o0 map[security.BlessingPattern]security.WireBlessings, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStorePeerBlessings", nil, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingStoreDebugString(ctx *context.T, opts ...ipc.CallOpt) (o0 string, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingStoreDebugString", nil, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) BlessingRootsAdd(ctx *context.T, i0 []byte, i1 security.BlessingPattern, opts ...ipc.CallOpt) (err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingRootsAdd", []interface{}{i0, i1}, opts...); err != nil {
return
}
err = call.Finish()
return
}
func (c implAgentClientStub) BlessingRootsRecognized(ctx *context.T, i0 []byte, i1 string, opts ...ipc.CallOpt) (err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingRootsRecognized", []interface{}{i0, i1}, opts...); err != nil {
return
}
err = call.Finish()
return
}
func (c implAgentClientStub) BlessingRootsDebugString(ctx *context.T, opts ...ipc.CallOpt) (o0 string, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "BlessingRootsDebugString", nil, opts...); err != nil {
return
}
err = call.Finish(&o0)
return
}
func (c implAgentClientStub) NotifyWhenChanged(ctx *context.T, opts ...ipc.CallOpt) (ocall AgentNotifyWhenChangedCall, err error) {
var call ipc.Call
if call, err = c.c(ctx).StartCall(ctx, c.name, "NotifyWhenChanged", nil, opts...); err != nil {
return
}
ocall = &implAgentNotifyWhenChangedCall{Call: call}
return
}
// AgentNotifyWhenChangedClientStream is the client stream for Agent.NotifyWhenChanged.
type AgentNotifyWhenChangedClientStream interface {
// RecvStream returns the receiver side of the Agent.NotifyWhenChanged client stream.
RecvStream() interface {
// Advance stages an item so that it may be retrieved via Value. Returns
// true iff there is an item to retrieve. Advance must be called before
// Value is called. May block if an item is not available.
Advance() bool
// Value returns the item that was staged by Advance. May panic if Advance
// returned false or was not called. Never blocks.
Value() bool
// Err returns any error encountered by Advance. Never blocks.
Err() error
}
}
// AgentNotifyWhenChangedCall represents the call returned from Agent.NotifyWhenChanged.
type AgentNotifyWhenChangedCall interface {
AgentNotifyWhenChangedClientStream
// Finish blocks until the server is done, and returns the positional return
// values for call.
//
// Finish returns immediately if the call has been canceled; depending on the
// timing the output could either be an error signaling cancelation, or the
// valid positional return values from the server.
//
// Calling Finish is mandatory for releasing stream resources, unless the call
// has been canceled or any of the other methods return an error. Finish should
// be called at most once.
Finish() error
}
type implAgentNotifyWhenChangedCall struct {
ipc.Call
valRecv bool
errRecv error
}
func (c *implAgentNotifyWhenChangedCall) RecvStream() interface {
Advance() bool
Value() bool
Err() error
} {
return implAgentNotifyWhenChangedCallRecv{c}
}
type implAgentNotifyWhenChangedCallRecv struct {
c *implAgentNotifyWhenChangedCall
}
func (c implAgentNotifyWhenChangedCallRecv) Advance() bool {
c.c.errRecv = c.c.Recv(&c.c.valRecv)
return c.c.errRecv == nil
}
func (c implAgentNotifyWhenChangedCallRecv) Value() bool {
return c.c.valRecv
}
func (c implAgentNotifyWhenChangedCallRecv) Err() error {
if c.c.errRecv == io.EOF {
return nil
}
return c.c.errRecv
}
func (c *implAgentNotifyWhenChangedCall) Finish() (err error) {
err = c.Call.Finish()
return
}
// AgentServerMethods is the interface a server writer
// implements for Agent.
type AgentServerMethods interface {
Bless(ctx ipc.ServerContext, key []byte, wit security.WireBlessings, extension string, caveat security.Caveat, additionalCaveats []security.Caveat) (security.WireBlessings, error)
BlessSelf(ctx ipc.ServerContext, name string, caveats []security.Caveat) (security.WireBlessings, error)
Sign(ctx ipc.ServerContext, message []byte) (security.Signature, error)
MintDischarge(ctx ipc.ServerContext, forCaveat security.Caveat, caveatOnDischarge security.Caveat, additionalCaveatsOnDischarge []security.Caveat) (security.WireDischarge, error)
PublicKey(ipc.ServerContext) ([]byte, error)
BlessingsByName(ctx ipc.ServerContext, name security.BlessingPattern) ([]security.WireBlessings, error)
BlessingsInfo(ctx ipc.ServerContext, blessings security.WireBlessings) (map[string][]security.Caveat, error)
AddToRoots(ctx ipc.ServerContext, blessing security.WireBlessings) error
BlessingStoreSet(ctx ipc.ServerContext, blessings security.WireBlessings, forPeers security.BlessingPattern) (security.WireBlessings, error)
BlessingStoreForPeer(ctx ipc.ServerContext, peerBlessings []string) (security.WireBlessings, error)
BlessingStoreSetDefault(ctx ipc.ServerContext, blessings security.WireBlessings) error
BlessingStoreDefault(ipc.ServerContext) (security.WireBlessings, error)
BlessingStorePeerBlessings(ipc.ServerContext) (map[security.BlessingPattern]security.WireBlessings, error)
BlessingStoreDebugString(ipc.ServerContext) (string, error)
BlessingRootsAdd(ctx ipc.ServerContext, root []byte, pattern security.BlessingPattern) error
BlessingRootsRecognized(ctx ipc.ServerContext, root []byte, blessing string) error
BlessingRootsDebugString(ipc.ServerContext) (string, error)
// Clients using caching should call NotifyWhenChanged upon connecting to
// the server. The server will stream back values whenever the client should
// flush the cache. The streamed value is arbitrary, simply flush whenever
// recieving a new item.
NotifyWhenChanged(AgentNotifyWhenChangedContext) error
}
// AgentServerStubMethods is the server interface containing
// Agent methods, as expected by ipc.Server.
// The only difference between this interface and AgentServerMethods
// is the streaming methods.
type AgentServerStubMethods interface {
Bless(ctx ipc.ServerContext, key []byte, wit security.WireBlessings, extension string, caveat security.Caveat, additionalCaveats []security.Caveat) (security.WireBlessings, error)
BlessSelf(ctx ipc.ServerContext, name string, caveats []security.Caveat) (security.WireBlessings, error)
Sign(ctx ipc.ServerContext, message []byte) (security.Signature, error)
MintDischarge(ctx ipc.ServerContext, forCaveat security.Caveat, caveatOnDischarge security.Caveat, additionalCaveatsOnDischarge []security.Caveat) (security.WireDischarge, error)
PublicKey(ipc.ServerContext) ([]byte, error)
BlessingsByName(ctx ipc.ServerContext, name security.BlessingPattern) ([]security.WireBlessings, error)
BlessingsInfo(ctx ipc.ServerContext, blessings security.WireBlessings) (map[string][]security.Caveat, error)
AddToRoots(ctx ipc.ServerContext, blessing security.WireBlessings) error
BlessingStoreSet(ctx ipc.ServerContext, blessings security.WireBlessings, forPeers security.BlessingPattern) (security.WireBlessings, error)
BlessingStoreForPeer(ctx ipc.ServerContext, peerBlessings []string) (security.WireBlessings, error)
BlessingStoreSetDefault(ctx ipc.ServerContext, blessings security.WireBlessings) error
BlessingStoreDefault(ipc.ServerContext) (security.WireBlessings, error)
BlessingStorePeerBlessings(ipc.ServerContext) (map[security.BlessingPattern]security.WireBlessings, error)
BlessingStoreDebugString(ipc.ServerContext) (string, error)
BlessingRootsAdd(ctx ipc.ServerContext, root []byte, pattern security.BlessingPattern) error
BlessingRootsRecognized(ctx ipc.ServerContext, root []byte, blessing string) error
BlessingRootsDebugString(ipc.ServerContext) (string, error)
// Clients using caching should call NotifyWhenChanged upon connecting to
// the server. The server will stream back values whenever the client should
// flush the cache. The streamed value is arbitrary, simply flush whenever
// recieving a new item.
NotifyWhenChanged(*AgentNotifyWhenChangedContextStub) error
}
// AgentServerStub adds universal methods to AgentServerStubMethods.
type AgentServerStub interface {
AgentServerStubMethods
// Describe the Agent interfaces.
Describe__() []ipc.InterfaceDesc
}
// AgentServer returns a server stub for Agent.
// It converts an implementation of AgentServerMethods into
// an object that may be used by ipc.Server.
func AgentServer(impl AgentServerMethods) AgentServerStub {
stub := implAgentServerStub{
impl: impl,
}
// Initialize GlobState; always check the stub itself first, to handle the
// case where the user has the Glob method defined in their VDL source.
if gs := ipc.NewGlobState(stub); gs != nil {
stub.gs = gs
} else if gs := ipc.NewGlobState(impl); gs != nil {
stub.gs = gs
}
return stub
}
type implAgentServerStub struct {
impl AgentServerMethods
gs *ipc.GlobState
}
func (s implAgentServerStub) Bless(ctx ipc.ServerContext, i0 []byte, i1 security.WireBlessings, i2 string, i3 security.Caveat, i4 []security.Caveat) (security.WireBlessings, error) {
return s.impl.Bless(ctx, i0, i1, i2, i3, i4)
}
func (s implAgentServerStub) BlessSelf(ctx ipc.ServerContext, i0 string, i1 []security.Caveat) (security.WireBlessings, error) {
return s.impl.BlessSelf(ctx, i0, i1)
}
func (s implAgentServerStub) Sign(ctx ipc.ServerContext, i0 []byte) (security.Signature, error) {
return s.impl.Sign(ctx, i0)
}
func (s implAgentServerStub) MintDischarge(ctx ipc.ServerContext, i0 security.Caveat, i1 security.Caveat, i2 []security.Caveat) (security.WireDischarge, error) {
return s.impl.MintDischarge(ctx, i0, i1, i2)
}
func (s implAgentServerStub) PublicKey(ctx ipc.ServerContext) ([]byte, error) {
return s.impl.PublicKey(ctx)
}
func (s implAgentServerStub) BlessingsByName(ctx ipc.ServerContext, i0 security.BlessingPattern) ([]security.WireBlessings, error) {
return s.impl.BlessingsByName(ctx, i0)
}
func (s implAgentServerStub) BlessingsInfo(ctx ipc.ServerContext, i0 security.WireBlessings) (map[string][]security.Caveat, error) {
return s.impl.BlessingsInfo(ctx, i0)
}
func (s implAgentServerStub) AddToRoots(ctx ipc.ServerContext, i0 security.WireBlessings) error {
return s.impl.AddToRoots(ctx, i0)
}
func (s implAgentServerStub) BlessingStoreSet(ctx ipc.ServerContext, i0 security.WireBlessings, i1 security.BlessingPattern) (security.WireBlessings, error) {
return s.impl.BlessingStoreSet(ctx, i0, i1)
}
func (s implAgentServerStub) BlessingStoreForPeer(ctx ipc.ServerContext, i0 []string) (security.WireBlessings, error) {
return s.impl.BlessingStoreForPeer(ctx, i0)
}
func (s implAgentServerStub) BlessingStoreSetDefault(ctx ipc.ServerContext, i0 security.WireBlessings) error {
return s.impl.BlessingStoreSetDefault(ctx, i0)
}
func (s implAgentServerStub) BlessingStoreDefault(ctx ipc.ServerContext) (security.WireBlessings, error) {
return s.impl.BlessingStoreDefault(ctx)
}
func (s implAgentServerStub) BlessingStorePeerBlessings(ctx ipc.ServerContext) (map[security.BlessingPattern]security.WireBlessings, error) {
return s.impl.BlessingStorePeerBlessings(ctx)
}
func (s implAgentServerStub) BlessingStoreDebugString(ctx ipc.ServerContext) (string, error) {
return s.impl.BlessingStoreDebugString(ctx)
}
func (s implAgentServerStub) BlessingRootsAdd(ctx ipc.ServerContext, i0 []byte, i1 security.BlessingPattern) error {
return s.impl.BlessingRootsAdd(ctx, i0, i1)
}
func (s implAgentServerStub) BlessingRootsRecognized(ctx ipc.ServerContext, i0 []byte, i1 string) error {
return s.impl.BlessingRootsRecognized(ctx, i0, i1)
}
func (s implAgentServerStub) BlessingRootsDebugString(ctx ipc.ServerContext) (string, error) {
return s.impl.BlessingRootsDebugString(ctx)
}
func (s implAgentServerStub) NotifyWhenChanged(ctx *AgentNotifyWhenChangedContextStub) error {
return s.impl.NotifyWhenChanged(ctx)
}
func (s implAgentServerStub) Globber() *ipc.GlobState {
return s.gs
}
func (s implAgentServerStub) Describe__() []ipc.InterfaceDesc {
return []ipc.InterfaceDesc{AgentDesc}
}
// AgentDesc describes the Agent interface.
var AgentDesc ipc.InterfaceDesc = descAgent
// descAgent hides the desc to keep godoc clean.
var descAgent = ipc.InterfaceDesc{
Name: "Agent",
PkgPath: "v.io/core/veyron/security/agent/server",
Methods: []ipc.MethodDesc{
{
Name: "Bless",
InArgs: []ipc.ArgDesc{
{"key", ``}, // []byte
{"wit", ``}, // security.WireBlessings
{"extension", ``}, // string
{"caveat", ``}, // security.Caveat
{"additionalCaveats", ``}, // []security.Caveat
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireBlessings
},
},
{
Name: "BlessSelf",
InArgs: []ipc.ArgDesc{
{"name", ``}, // string
{"caveats", ``}, // []security.Caveat
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireBlessings
},
},
{
Name: "Sign",
InArgs: []ipc.ArgDesc{
{"message", ``}, // []byte
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.Signature
},
},
{
Name: "MintDischarge",
InArgs: []ipc.ArgDesc{
{"forCaveat", ``}, // security.Caveat
{"caveatOnDischarge", ``}, // security.Caveat
{"additionalCaveatsOnDischarge", ``}, // []security.Caveat
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireDischarge
},
},
{
Name: "PublicKey",
OutArgs: []ipc.ArgDesc{
{"", ``}, // []byte
},
},
{
Name: "BlessingsByName",
InArgs: []ipc.ArgDesc{
{"name", ``}, // security.BlessingPattern
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // []security.WireBlessings
},
},
{
Name: "BlessingsInfo",
InArgs: []ipc.ArgDesc{
{"blessings", ``}, // security.WireBlessings
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // map[string][]security.Caveat
},
},
{
Name: "AddToRoots",
InArgs: []ipc.ArgDesc{
{"blessing", ``}, // security.WireBlessings
},
},
{
Name: "BlessingStoreSet",
InArgs: []ipc.ArgDesc{
{"blessings", ``}, // security.WireBlessings
{"forPeers", ``}, // security.BlessingPattern
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireBlessings
},
},
{
Name: "BlessingStoreForPeer",
InArgs: []ipc.ArgDesc{
{"peerBlessings", ``}, // []string
},
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireBlessings
},
},
{
Name: "BlessingStoreSetDefault",
InArgs: []ipc.ArgDesc{
{"blessings", ``}, // security.WireBlessings
},
},
{
Name: "BlessingStoreDefault",
OutArgs: []ipc.ArgDesc{
{"", ``}, // security.WireBlessings
},
},
{
Name: "BlessingStorePeerBlessings",
OutArgs: []ipc.ArgDesc{
{"", ``}, // map[security.BlessingPattern]security.WireBlessings
},
},
{
Name: "BlessingStoreDebugString",
OutArgs: []ipc.ArgDesc{
{"", ``}, // string
},
},
{
Name: "BlessingRootsAdd",
InArgs: []ipc.ArgDesc{
{"root", ``}, // []byte
{"pattern", ``}, // security.BlessingPattern
},
},
{
Name: "BlessingRootsRecognized",
InArgs: []ipc.ArgDesc{
{"root", ``}, // []byte
{"blessing", ``}, // string
},
},
{
Name: "BlessingRootsDebugString",
OutArgs: []ipc.ArgDesc{
{"", ``}, // string
},
},
{
Name: "NotifyWhenChanged",
Doc: "// Clients using caching should call NotifyWhenChanged upon connecting to\n// the server. The server will stream back values whenever the client should\n// flush the cache. The streamed value is arbitrary, simply flush whenever\n// recieving a new item.",
},
},
}
// AgentNotifyWhenChangedServerStream is the server stream for Agent.NotifyWhenChanged.
type AgentNotifyWhenChangedServerStream interface {
// SendStream returns the send side of the Agent.NotifyWhenChanged server stream.
SendStream() interface {
// Send places the item onto the output stream. Returns errors encountered
// while sending. Blocks if there is no buffer space; will unblock when
// buffer space is available.
Send(item bool) error
}
}
// AgentNotifyWhenChangedContext represents the context passed to Agent.NotifyWhenChanged.
type AgentNotifyWhenChangedContext interface {
ipc.ServerContext
AgentNotifyWhenChangedServerStream
}
// AgentNotifyWhenChangedContextStub is a wrapper that converts ipc.ServerCall into
// a typesafe stub that implements AgentNotifyWhenChangedContext.
type AgentNotifyWhenChangedContextStub struct {
ipc.ServerCall
}
// Init initializes AgentNotifyWhenChangedContextStub from ipc.ServerCall.
func (s *AgentNotifyWhenChangedContextStub) Init(call ipc.ServerCall) {
s.ServerCall = call
}
// SendStream returns the send side of the Agent.NotifyWhenChanged server stream.
func (s *AgentNotifyWhenChangedContextStub) SendStream() interface {
Send(item bool) error
} {
return implAgentNotifyWhenChangedContextSend{s}
}
type implAgentNotifyWhenChangedContextSend struct {
s *AgentNotifyWhenChangedContextStub
}
func (s implAgentNotifyWhenChangedContextSend) Send(item bool) error {
return s.s.Send(item)
}