cloud

package
v0.25.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2021 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	ssi.DIDAgent
	Tr txp.Trans // Our transport layer for communication
	// contains filtered or unexported fields
}

Agent is the main abstraction of the package together with Agency. The agent started as a CA but has been later added support for EAs and worker/cloud-EA as well. This might be something we will change later. Agent's most important task is/WAS to receive Payloads and process Messages inside them. And there are lots of stuff to support that. That part of code is heavily under construction.

More concrete parts of the Agent are support for wallet, root DID, did cache. Web socket connections are more like old relic, and that will change in future for something else. It WAS part of the protocol STATE management.

Please be noted that Agent or more precisely CA is singleton by its nature per EA it serves. So, Cloud Agent is a gateway to world for EA it serves. EAs are mostly in mobile devices and handicapped by their nature. In our latest architecture CA serves EA by creating a worker EA which lives in the cloud as well. For now, in the most cases we have pair or agents serving each mobile EAs here in the cloud: CA and w-EA.

There is Agent.Type where this Agent can be EA only. That type is used for test and CLI Go clients.

func NewEA

func NewEA() *Agent

NewEA creates a new EA without any initialization.

func (*Agent) AddPipeToPWMap

func (a *Agent) AddPipeToPWMap(p sec.Pipe, name string)

func (*Agent) AddToPWMap

func (a *Agent) AddToPWMap(me, you *ssi.DID, name string) sec.Pipe

func (*Agent) AttachAPIEndp

func (a *Agent) AttachAPIEndp(endp service.Addr) error

AttachAPIEndp sets the API endpoint for remove EA i.e. real EA not w-EA.

func (*Agent) AttachSAImpl

func (a *Agent) AttachSAImpl(implID string, persistent bool)

AttachSAImpl sets implementation ID for SA to use for mocks and auto accepts.

func (*Agent) AutoPermission

func (a *Agent) AutoPermission() bool

func (*Agent) CAEndp

func (a *Agent) CAEndp(wantWorker bool) (endP *endp.Addr)

CAEndp returns endpoint of the CA or CA's w-EA's endp when wantWorker = true.

func (*Agent) ExportWallet

func (a *Agent) ExportWallet(key string, exportPath string) string

func (*Agent) MasterSecret

func (a *Agent) MasterSecret() (string, error)

func (*Agent) MyCA

func (a *Agent) MyCA() comm.Receiver

func (*Agent) PwPipe

func (a *Agent) PwPipe(pw string) (cp sec.Pipe, err error)

func (*Agent) SecPipe

func (a *Agent) SecPipe(meDID string) sec.Pipe

func (*Agent) Trans

func (a *Agent) Trans() txp.Trans

func (*Agent) WDID

func (a *Agent) WDID() string

WDID returns DID string of the WEA.

func (*Agent) WEA

func (a *Agent) WEA() (wa *Agent)

WEA returns CA's worker EA. It creates and inits it correctly if needed. The w-EA is a cloud allocated EA. Note! The TR is attached to worker EA here!

func (*Agent) WorkerEA

func (a *Agent) WorkerEA() comm.Receiver

type PipeMap

type PipeMap map[string]sec.Pipe

type SeedAgent

type SeedAgent struct {
	RootDID string
	CADID   string
	*ssi.Wallet
}

func NewSeedAgent

func NewSeedAgent(rootDid, caDid string, cfg *ssi.Wallet) *SeedAgent

func (*SeedAgent) Prepare

func (s *SeedAgent) Prepare() (h comm.Handler, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL