Documentation ¶
Index ¶
- type Agent
- func (a *Agent) AddPipeToPWMap(p sec.Pipe, name string)
- func (a *Agent) AddToPWMap(me, you *ssi.DID, name string) sec.Pipe
- func (a *Agent) AttachAPIEndp(endp service.Addr) error
- func (a *Agent) AttachSAImpl(implID string, persistent bool)
- func (a *Agent) AutoPermission() bool
- func (a *Agent) CAEndp(wantWorker bool) (endP *endp.Addr)
- func (a *Agent) CallEA(plType string, im didcomm.Msg) (om didcomm.Msg, err error)
- func (a *Agent) ExportWallet(key string, exportPath string) string
- func (a *Agent) MasterSecret() (string, error)
- func (a *Agent) MyCA() comm.Receiver
- func (a *Agent) PwPipe(pw string) (cp sec.Pipe, err error)
- func (a *Agent) SecPipe(meDID string) sec.Pipe
- func (a *Agent) Trans() txp.Trans
- func (a *Agent) WDID() string
- func (a *Agent) WEA() (wa *Agent)
- func (a *Agent) WorkerEA() comm.Receiver
- type PipeMap
- type SeedAgent
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 (*Agent) AttachAPIEndp ¶
AttachAPIEndp sets the API endpoint for remove EA i.e. real EA not w-EA.
func (*Agent) AttachSAImpl ¶
AttachSAImpl sets implementation ID for SA to use for mocks and auto accepts.
func (*Agent) AutoPermission ¶
func (*Agent) CAEndp ¶
CAEndp returns endpoint of the CA or CA's w-EA's endp when wantWorker = true.