|
|
Line 1: |
Line 1: |
| There is one [[NonceLocator]] per side of a CapTP connection; each participant automatically exports its NonceLocator at [[IncomingPos]] 0. The NonceLocator bootstraps communication with other objects in its host vat, by providing them when given a [[swiss number]] or the details of a [[3-party introduction]]. {{XXX|review for accuracy}} | | There is one [[NonceLocator]] per side of a CapTP connection; each participant automatically exports its NonceLocator at [[IncomingPos]] 0. The NonceLocator bootstraps communication with other objects in its host vat, by providing them when given a [[swiss number]] or the details of a [[3-party introduction]]. {{XXX|review for accuracy}} |
| | | |
- | ==Protocol==
| + | AKAIK you've got the asnewr in one! |
- | | + | |
- | {{instance msgdoc|provideFor|3|gift, recip, nonce|[[Vine]]}}
| + | |
- | | + | |
- | {{unspecified message}}
| + | |
- | | + | |
- | {{instance msgdoc|provideFor|4|gift, recip, nonce, swissHash|[[Vine]]}}
| + | |
- | | + | |
- | {{unspecified message}}
| + | |
- | | + | |
- | {{instance msgdoc|acceptFrom|4|donorPath, donorID, nonce, optFarVine|[[any]]}}
| + | |
- | | + | |
- | {{unspecified message}}
| + | |
- | | + | |
- | /**
| + | |
- | * @param donorID The vatID of the vat (Alice, the gift giver) that
| + | |
- | * provided the gift we're picking up.
| + | |
- | * @param nonce Identifies (together with myOwnID) the gift in the
| + | |
- | * donor's table.
| + | |
- | * @param optFarVine Justs hold onto it until the request is done, to
| + | |
- | * prevent it from being gced.
| + | |
- | */
| + | |
- | | + | |
- | {{instance msgdoc|acceptFrom|4|donorPath, donorID, nonce, swissHash, optFarVine|[[any]]}}
| + | |
- | | + | |
- | {{unspecified message}}
| + | |
- | | + | |
- | /**
| + | |
- | * @param donorID The vatID of the vat (Alice, the gift giver) that
| + | |
- | * provided the gift we're picking up.
| + | |
- | * @param nonce Identifies (together with myOwnID) the gift in the
| + | |
- | * donor's table.
| + | |
- | * @param swissHash The gift should only be returned if it has this
| + | |
- | * identity. Otherwise the recipient should get a
| + | |
- | * DisconnectedRef. This isn't yet fully implemented.
| + | |
- | * @param optFarVine Justs hold onto it until the request is done, to
| + | |
- | * prevent it from being gced.
| + | |
- | */
| + | |
- | | + | |
- | {{instance msgdoc|ignore|1|_|[[void]]}}
| + | |
- | | + | |
- | Do nothing, letting the argument become garbage.
| + | |
- | | + | |
- | The purpose of the message is to ensure that the argument isn't garbage until the message is delivered. {{XXX|For rationale, document what conditions this is used under.}}
| + | |
- | | + | |
- | {{instance msgdoc|lookupSwiss|1|swissNum :[[Swiss]], optFarVine :[[any]]|[[any]]}}
| + | |
- | | + | |
- | Returns the object designated by the given [[Swiss number]] in this vat.
| + | |
- | | + | |
- | (In current CapTP implementations, this is implemented by forwarding to this CapTP instance's [[SwissTable#lookupSwiss/1]].)
| + | |
- | | + | |
- | NOTE: In the E-on-Java implementation of [[SwissTable]], [[null]] always has the [[swiss number]] 0. This is an implementation convenience and CapTP implementations ''must not'' assume anything about the swiss numbers exported by other vats. (2009-08-21: E-on-CL and Caja-CapTP both need to be reviewed for unnecessarily conforming to this scheme.) {{XXX|SwissTable is an implementation detail; this note is about the exposed behavior of CapTP.}}
| + | |
- | | + | |
- | [[Category:CapTP]]
| + | |