Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Users can (and should) be able to react to wrangler:inbound_pending_subscription_added

Table of Contents
maxLevel3

...

  1. Pico A receives a wrangler:subscription event which includes a wellKnown_Tx attribute. wellKnown_Tx is Pico B's wellKnown_Rx .  Pico A then creates a channel for the subscription which is stored as Rx.
  2. Pico A sends pico B wrangler:subscription_request_neededPico A sends all attributes it received with the following key attributes updated.
    1. Tx - Pico A Rx.
    2. Tx_verify_key - Pico A's Rx channel verifyKey.
    3. Tx_public_key - Pico A's Rx channel encryptionPublicKey.
    4. name - name used for channel.
    5. channel_type - string used for channel type
  3. Pico B creates a Rx channel for the subscription which is stored as Rx along with TxTx_verify_keyTx_public_key in inbound subscription entity variable.
    Pico A also raises an internal  wrangler:new_subscription_request event, with the corresponding attributes above which is stored in outbound subscription entity variable
  4. After storing pending subscriptions, Pico B and Pico A raises corresponding wrangler:inbound_pending_subscription_added event and wrangler:outbound_pending_subscription_added event.
    The state of each Picos subscription is static at this point. Pico A has an outgoing pending subscription and Pico B has an incoming pending subscription.
  5. If Pico B wants to approve the subscription request, it raises the wrangler:pending_subscription_approval event with an attribute Rx containing the Rx channel identifier of the subscription to approve.  Upon successfully storing the subscription in established entity variable. Pico B: 
    1. sends the wrangler:outbound_pending_subscription_approved event to Pico A on Pico B's subscriptions Tx. 
    2. raises an API internal event wrangler:subscription_added.
  6. Upon receiving the wrangler:pending_subscription_approved event, Pico A adds an Tx eci to the subscription and stores the subscription in established entity variable.  And raises the wrangler:subscription_added event.
  7. If Pico B wants to reject the subscription, it raises the wrangler:subscription_cancellation event (internally) with an attribute named Rx - which is the Rx of the subscription to reject. Pico B:
    1. sends the wrangler:established_removal event to Pico A on Picos B Tx eci, which then raises an internal API wrangler:subscription_removed event to itself.
    2. raises the wrangler:established_removal event, which then raises an internal API wrangler:subscription_removed event.

...

Events Users Could React To

  • wrangler:inbound_pending_subscription_added
  • wrangler:subscription_added
  • wrangler:subscription_removed

...