fmgp.did.framework
package fmgp.did.framework
Members list
Type members
Classlikes
trait AgentProgram
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class AgentProgramImp
class AgentProgramImp(agent: Agent, transportManager: Ref[TransportManager], protocolHandler: ProtocolExecuter[Resolver & Agent & Operations, DidFail]) extends AgentProgram
Attributes
- Companion
- object
- Supertypes
object AgentProgramImp
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AgentProgramImp.type
object MyHeaders
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
MyHeaders.type
The goal is to make this DID Comm library Transport-agnostic
The goal is to make this DID Comm library Transport-agnostic
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class TransportWSImp[MSG]
- Self type
-
object Transport
class TransportDIDCommOverHTTP(destination: String, inboundBuf: Hub[SignedMessage | EncryptedMessage]) extends TransportDIDComm[Client & Scope]
Client-side HTTP transport for DIDComm messaging.
Client-side HTTP transport for DIDComm messaging.
Implements the Transport abstraction over HTTP. Outbound and inbound are independent, unrelated message flows — they are NOT coupled as HTTP request-response pairs.
==Features==
- R1 — Outbound delivery: POST the DIDComm message as JSON to
destinationwith the correct Content-Type header (application/didcomm-signed+json or application/didcomm-encrypted+json). - R2 — Inbound via Hub (broadcast):
inboundsupports multiple concurrent subscribers (pub-sub / broadcast semantics via Hub). Every subscriber receives every message published after their subscription. - R3 — No late subscriber guarantee: Hub does not replay past messages. Subscribers that connect after a message was published will not receive it. This is by design.
- R4 — HTTP response parsing: After each outbound POST, the HTTP response body is parsed. If it contains a valid DIDComm message (SignedMessage or EncryptedMessage), it is published to the inbound Hub. If the body is empty, not valid JSON, or not a DIDComm message, it is logged and ignored.
- R5 — TransportID: Uses
TransportID.http. - R6 — Error handling: HTTP errors (non-2xx status) are logged but not delivered to
inbound. Network/connection failures are logged and the effect dies (orDie). - R7 — SingleTransmission semantics: TransmissionType is SingleTransmission, unlike WebSocket's MultiTransmissions.
- R8 — Environment: Requires
Client & Scopefrom zio-http. The companion object providesmakeWithEnvironmentto pre-inject the environment and return aTransportDIDComm[Any].
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object TransportDIDCommOverHTTP
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
class TransportDIDCommWS[R](val transport: TransportWS[R, String]) extends TransportDIDComm[R]
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
trait TransportDispatcher extends TransportFactory
Attributes
- Supertypes
- Known subtypes
-
class TransportManager
trait TransportFactory
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait TransportDispatcherclass TransportManager
object TransportFactoryImp
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TransportFactoryImp.type
object TransportID
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TransportID.type
case class TransportManager(transports: Seq[TransportDIDComm[Any]] = ..., ids: Map[FROMTO, Seq[TransportID]] = ..., kids: Map[VerificationMethodReferenced, Seq[TransportID]] = ..., transportFactory: TransportFactory) extends TransportDispatcher
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TransportDispatchertrait TransportFactoryclass Objecttrait Matchableclass AnyShow all
object TransportManager
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
TransportManager.type
trait TransportWS[R, M] extends Transport[R, M, M]
Attributes
- Supertypes
- Known subtypes
-
class TransportWSImp[MSG]
class TransportWSImp[MSG](outboundBuf: Queue[MSG], inboundBuf: Hub[MSG], val ws: Websocket[Throwable]) extends TransportWS[Any, MSG]
this API is still a WIP
this API is still a WIP
The Auto reconnect feature was remove.
Attributes
- Companion
- object
- Supertypes
object TransportWSImp
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TransportWSImp.type
object Websocket
object WebsocketJVMImp
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
WebsocketJVMImp.type
Types
type TransportDIDComm[R] = Transport[R, SignedMessage | EncryptedMessage, SignedMessage | EncryptedMessage]
In this article