Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

From each pico's perspective there is an receiving channel , Rx , and an transmitting channel, Tx. The pico receives events and queries from the other pico in the subscriptions over the Rx channel and makes queries and sends events to the other pico using the Tx channel. 

 


Subscriptions can exist between any two picos. They do not have to have the same parent. In the Forever application, for example, the picos belonged to different people and represented their personal contact information. 

...

Subscription Rejection Flow


Subscription Events

...

Overview

Event Domain

Event Type

Actions

Use

wranglersubscription

creates outbound pending subscription and sends pending_subscription event to external pico

Creates a new outbound pending subscription
wranglerpending_subscriptioncreates inbound pending subscriptionCreates a new inbound pending subscription
wranglerpending_subscription_approvalsends pending_subscription_approved event with inbound_eci and outbound status to external pico and raises pending_subscription_approved with inbound statusAprove inbound pending subscription
wrangler

subscription_cancellation |

inbound_rejection |

outbound_cancellation

sends subscription_removal event with eci and status and raise the same event to selfAlert external pico to remove subscriptions and alert self to remove subscription
wrangler

established_removal |

inbound_removal |

outbound_removal

deletes channel used for subscription and updates subscription ruleset persistanceInternally for removing channel used for subscription

Events Users

...

Could Raise

  • wrangler:subscription
  • wrangler:pending_subscription_approval
  • wrangler:outbound_cancellation
  • wrangler:inbound_rejection
  • wrangler:subscription_cancellation

Events Users

...

Could React To

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

Event Attributes

wrangler:subscription (pico A)

NameDefaultUse

wellKnown_Tx

(required)

no defaultthe subscription process needs one of pico B's existing eci's

name

(optional)

random English wordname of channel to be created.

channel_type

(optional)

"Tx_Rx"describes each pico's new channel created for the subscription

Rx_role

(optional)

no default describes pico A (self) in the context of the subscription

name

(optional)

string including a random English wordname of channel to be created.

wellKnown_Tx

(required)

no defaultthe subscription process needs one of pico B's existing eci's

subscriber_host

(optional)

no defaultthe public DNS name of the engine hosting pico B (only needed if different from pico A's) - e.g. "https://localhost:8080"

Tx_role

(optional)

no defaultdescribes pico B in the context of the subscription

...

Code Block
languagejs
titleinbound
linenumberstrue
[
  {
    "Tx": "Q4aosn4DiPdEEpqwZZGEbh",
    "Rx": "MvgUk1pHSFHqtzpUKkJErC",
    "Tx_verify_key": "Da2dgGAEFPLJV4bTP6kYTdphUXcJaQ5Zrnq5rnMXS5UZ",
    "Tx_public_key": "39V93tWrxWBK2Anez4Mz6J6ec8eX3v7ZcTEdsEMSL42a"
  }
  {
    "Rx_role": "teacher",
    "Tx_role": "student",
    "Tx_host": "http://localhost:8040",
    "Tx": "WeEHHsfEVoS2to7LSpyrC8",
    "Rx": "SCmhMnquJrwxoM5SLmofjv",
    "Tx_verify_key": "HA3Dc9K5H4g2njJ6yFGsoi6d3tchs7RN91d9sbpJupi4",
    "Tx_public_key": "BVr8EBML6cbRtUvaxDV44TXjN1dHRiwFS7XpNiAfrGqC"
  }
]

autoAcceptConfig()