pans
2017-08-09 02aab60af4ebfadb0a51d44135c734d91430e11d
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc.capnp
@@ -233,11 +233,11 @@
    abort @1 :Exception;
    # Sent when a connection is being aborted due to an unrecoverable error.  This could be e.g.
    # because the sender received an invalid or nonsensical message or because the sender had an
    # internal error.  The sender will shut down the outgoing half of the connection after `abort`
    # and will completely close the connection shortly thereafter (it's up to the sender how much
    # of a time buffer they want to offer for the client to receive the `abort` before the
    # connection is reset).
    # because the sender received an invalid or nonsensical message (`isCallersFault` is true) or
    # because the sender had an internal error (`isCallersFault` is false).  The sender will shut
    # down the outgoing half of the connection after `abort` and will completely close the
    # connection shortly thereafter (it's up to the sender how much of a time buffer they want to
    # offer for the client to receive the `abort` before the connection is reset).
    # Level 0 features -----------------------------------------------
@@ -446,22 +446,23 @@
    # in the calls so that the results need not pass back through Vat B.
    #
    # For example:
    # - Alice, in Vat A, calls foo() on Bob in Vat B.
    # - Alice, in Vat A, call foo() on Bob in Vat B.
    # - Alice makes a pipelined call bar() on the promise returned by foo().
    # - Later on, Bob resolves the promise from foo() to point at Carol, who lives in Vat A (next
    #   to Alice).
    # - Vat B dutifully forwards the bar() call to Carol.  Let us call this forwarded call bar'().
    #   Notice that bar() and bar'() are travelling in opposite directions on the same network
    #   link.
    # - The `Call` for bar'() has `sendResultsTo` set to `yourself`.
    # - Vat B sends a `Return` for bar() with `takeFromOtherQuestion` set in place of the results,
    #   with the value set to the question ID of bar'().  Vat B does not wait for bar'() to return,
    #   as doing so would introduce unnecessary round trip latency.
    # - The `Call` for bar'() has `sendResultsTo` set to `yourself`, with the value being the
    #   question ID originally assigned to the bar() call.
    # - Vat A receives bar'() and delivers it to Carol.
    # - When bar'() returns, Vat A sends a `Return` for bar'() to Vat B, with `resultsSentElsewhere`
    #   set in place of results.
    # - Vat A sends a `Finish` for the bar() call to Vat B.
    # - Vat B receives the `Finish` for bar() and sends a `Finish` for bar'().
    # - When bar'() returns, Vat A immediately takes the results and returns them from bar().
    # - Meanwhile, Vat A sends a `Return` for bar'() to Vat B, with `resultsSentElsewhere` set in
    #   place of results.
    # - Vat A sends a `Finish` for that call to Vat B.
    # - Vat B receives the `Return` for bar'() and sends a `Return` for bar(), with
    #   `receivedFromYourself` set in place of the results.
    # - Vat B receives the `Finish` for bar() and sends a `Finish` to bar'().
    thirdParty @7 :RecipientId;
    # **(level 3)**
@@ -517,7 +518,7 @@
    takeFromOtherQuestion @6 :QuestionId;
    # The sender has also sent (before this message) a `Call` with the given question ID and with
    # `sendResultsTo.yourself` set, and the results of that other call should be used as the
    # results here.  `takeFromOtherQuestion` can only used once per question.
    # results here.
    acceptFromThirdParty @7 :ThirdPartyCapId;
    # **(level 3)**
@@ -780,7 +781,7 @@
  # Message type sent to pick up a capability hosted by the receiving vat and provided by a third
  # party.  The third party previously designated the capability using `Provide`.
  #
  # This message is also used to pick up a redirected return -- see `Return.acceptFromThirdParty`.
  # This message is also used to pick up a redirected return -- see `Return.redirect`.
  questionId @0 :QuestionId;
  # A new question ID identifying this accept message, which will eventually receive a Return
@@ -950,8 +951,8 @@
    # Hopefully this is unusual.
    senderHosted @1 :ExportId;
    # The ID of a capability in the sender's export table (receiver's import table).  It may be a
    # newly allocated table entry, or an existing entry (increments the reference count).
    # A capability newly exported by the sender.  This is the ID of the new capability in the
    # sender's export table (receiver's import table).
    senderPromise @2 :ExportId;
    # A promise that the sender will resolve later.  The sender will send exactly one Resolve
@@ -1233,8 +1234,8 @@
# The information that must be sent in an `Accept` message to identify the object being accepted.
#
# In a network where each vat has a public/private key pair, this could simply be the public key
# fingerprint of the provider vat along with a nonce matching the one in the `RecipientId` used
# in the `Provide` message sent from that provider.
# fingerprint of the provider vat along with the question ID used in the `Provide` message sent from
# that provider.
using RecipientId = AnyPointer;
# **(level 3)**
@@ -1243,7 +1244,8 @@
# capability.
#
# In a network where each vat has a public/private key pair, this could simply be the public key
# fingerprint of the recipient along with a nonce matching the one in the `ProvisionId`.
# fingerprint of the recipient.  (CapTP also calls for a nonce to identify the object.  In our
# case, the `Provide` message's `questionId` can serve as the nonce.)
using ThirdPartyCapId = AnyPointer;
# **(level 3)**
@@ -1252,8 +1254,8 @@
#
# In a network where each vat has a public/private key pair, this could be a combination of the
# third party's public key fingerprint, hints on how to connect to the third party (e.g. an IP
# address), and the nonce used in the corresponding `Provide` message's `RecipientId` as sent
# to that third party (used to identify which capability to pick up).
# address), and the question ID used in the corresponding `Provide` message sent to that third party
# (used to identify which capability to pick up).
using JoinKeyPart = AnyPointer;
# **(level 4)**