pub struct SweetConductor { /* private fields */ }
Expand description

A useful Conductor abstraction for testing, allowing startup and shutdown as well as easy installation of apps across multiple Conductors and Agents.

This is intentionally NOT Clone, because the drop handle triggers a shutdown of the conductor handle, which would render all other cloned instances useless. If you need multiple references to a SweetConductor, put it in an Arc

Implementations§

Create a SweetConductor from an already-built ConductorHandle and environments RibosomeStore The conductor will be supplied with a single test AppInterface named “sweet-interface” so that signals may be emitted

Create a SweetConductor with a new set of TestEnvs from the given config

Create a SweetConductor from a partially-configured ConductorBuilder

Create a handle from an existing environment and config

Create a SweetConductor with a new set of TestEnvs from the given config

Access the database path for this conductor

Make the temp db dir persistent

Access the MetaLairClient for this conductor

Convenience function that uses the internal handle to enable an app

Convenience function that uses the internal handle to disable an app

Convenience function that uses the internal handle to start an app

Convenience function that uses the internal handle to pause an app

Construct a SweetCell for a cell which has already been created

Opinionated app setup. Creates an app for the given agent, using the given DnaFiles, with no extra configuration.

Opinionated app setup. Creates an app using the given DnaFiles, with no extra configuration. An AgentPubKey will be generated, and is accessible via the returned SweetApp.

Opinionated app setup. Creates one app per agent, using the given DnaFiles.

All InstalledAppIds and RoleNames are auto-generated. In tests driven directly by Rust, you typically won’t care what these values are set to, but in case you do, they are set as so:

  • InstalledAppId: {app_id_prefix}-{agent_pub_key}
  • RoleName: {dna_hash}

Returns a batch of SweetApps, sorted in the same order as Agents passed in.

Call into the underlying create_clone_cell function, and register the created dna with SweetConductor so it will be reloaded on restart.

Get a stream of all Signals emitted on the “sweet-interface” AppInterface.

This is designed to crash if called more than once, because as currently implemented, creating multiple signal streams would simply cause multiple consumers of the same underlying streams, not a fresh subscription

Get a new websocket client which can send requests over the admin interface. It presupposes that an admin interface has been configured. (The standard_config includes an admin interface at port 0.)

Shutdown this conductor. This will wait for the conductor to shutdown but keep the inner state to restart it.

Attempting to use this conductor without starting it up again will cause a panic.

Start up this conductor if it’s not already running.

Check if this conductor is running

Get the ConductorHandle within this Conductor. Be careful when using this, because this leaks out handles, which may make it harder to shut down the conductor during tests.

Force trigger all dht ops that haven’t received enough validation receipts yet.

Let each conductor know about each others’ agents so they can do networking

Let each conductor know about each others’ agents so they can do networking

Methods from Deref<Target = SweetConductorHandle>§

Make a zome call to a Cell, as if that Cell were the caller. Most common case. No capability is necessary, since the authorship capability is automatically granted.

Like call, but without the unwrap

Make a zome call to a Cell, as if some other Cell were the caller. More general case. Can optionally provide a capability.

Like call_from, but without the unwrap

Get a stream of all Signals emitted since the time of this function call.

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Immutably borrows from an owned value. Read more
Formats the value using the given formatter. Read more
The resulting type after dereferencing.
Dereferences the value.
Executes the destructor for this type. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Deserializes using the given deserializer

Returns the argument unchanged.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Attaches the current Context to this type, returning a WithContext wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The type for metadata in pointers and references to Self.
Should always be Self
The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Checks if self is actually part of its subset T (and can be converted to it).
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
The inclusion map: converts self to the equivalent element of its superset.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
upcast ref
upcast mut ref
upcast boxed dyn
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more