pub async fn drive_device_join(
store: &Store,
identity_signer: &UserKeypair,
bundle: &DeviceJoinOfferBundle,
policy: DeviceJoinApprovalPolicy<'_>,
access_administrator: Option<&dyn DeviceProviderAccessAdministrator>,
timing: DeviceJoinTransportTiming,
) -> Result<DeviceJoinDriveOutcome, DeviceJoinTransportError>Expand description
Advance the Owner and Provider Administrator journals as the joiner’s artifacts arrive, publishing each artifact this device produces.
The two roles are usually the same device, and then this drives the whole admitting side. When they are separate devices, each runs this with its own keys: the role checks below find only that device’s work, and every artifact it does not produce it waits for in the transport instead.
Returns when the attempt reaches an end the admitting side owns: its activation, or the abandonment that ends it early. The joiner’s completion is the joiner’s own step.