Commit 352bb995 authored by Kenton Varda's avatar Kenton Varda

Level 2 RPC: Define 'Persistent' interface, get rid of 'Save' RPC protocol message.

parent 6c5a3509
...@@ -90,7 +90,8 @@ public_capnpc_inputs = \ ...@@ -90,7 +90,8 @@ public_capnpc_inputs = \
src/capnp/c++.capnp \ src/capnp/c++.capnp \
src/capnp/schema.capnp \ src/capnp/schema.capnp \
src/capnp/rpc.capnp \ src/capnp/rpc.capnp \
src/capnp/rpc-twoparty.capnp src/capnp/rpc-twoparty.capnp \
src/capnp/persistent.capnp
capnpc_inputs = \ capnpc_inputs = \
$(public_capnpc_inputs) \ $(public_capnpc_inputs) \
...@@ -106,6 +107,8 @@ capnpc_outputs = \ ...@@ -106,6 +107,8 @@ capnpc_outputs = \
src/capnp/rpc.capnp.h \ src/capnp/rpc.capnp.h \
src/capnp/rpc-twoparty.capnp.c++ \ src/capnp/rpc-twoparty.capnp.c++ \
src/capnp/rpc-twoparty.capnp.h \ src/capnp/rpc-twoparty.capnp.h \
src/capnp/persistent.capnp.c++ \
src/capnp/persistent.capnp.h \
src/capnp/compiler/lexer.capnp.c++ \ src/capnp/compiler/lexer.capnp.c++ \
src/capnp/compiler/lexer.capnp.h \ src/capnp/compiler/lexer.capnp.h \
src/capnp/compiler/grammar.capnp.c++ \ src/capnp/compiler/grammar.capnp.c++ \
...@@ -179,6 +182,7 @@ includecapnp_HEADERS = \ ...@@ -179,6 +182,7 @@ includecapnp_HEADERS = \
src/capnp/rpc-twoparty.h \ src/capnp/rpc-twoparty.h \
src/capnp/rpc.capnp.h \ src/capnp/rpc.capnp.h \
src/capnp/rpc-twoparty.capnp.h \ src/capnp/rpc-twoparty.capnp.h \
src/capnp/persistent.capnp.h \
src/capnp/ez-rpc.h src/capnp/ez-rpc.h
if LITE_MODE if LITE_MODE
...@@ -255,6 +259,7 @@ libcapnp_rpc_la_SOURCES= \ ...@@ -255,6 +259,7 @@ libcapnp_rpc_la_SOURCES= \
src/capnp/rpc.capnp.c++ \ src/capnp/rpc.capnp.c++ \
src/capnp/rpc-twoparty.c++ \ src/capnp/rpc-twoparty.c++ \
src/capnp/rpc-twoparty.capnp.c++ \ src/capnp/rpc-twoparty.capnp.c++ \
src/capnp/persistent.capnp.c++ \
src/capnp/ez-rpc.c++ src/capnp/ez-rpc.c++
# -lpthread is here to work around https://bugzilla.redhat.com/show_bug.cgi?id=661333 # -lpthread is here to work around https://bugzilla.redhat.com/show_bug.cgi?id=661333
......
...@@ -7,4 +7,4 @@ export PATH=$PWD/bin:$PWD:$PATH ...@@ -7,4 +7,4 @@ export PATH=$PWD/bin:$PWD:$PATH
capnp compile -Isrc --no-standard-import --src-prefix=src -oc++:src \ capnp compile -Isrc --no-standard-import --src-prefix=src -oc++:src \
src/capnp/c++.capnp src/capnp/schema.capnp \ src/capnp/c++.capnp src/capnp/schema.capnp \
src/capnp/compiler/lexer.capnp src/capnp/compiler/grammar.capnp \ src/capnp/compiler/lexer.capnp src/capnp/compiler/grammar.capnp \
src/capnp/rpc.capnp src/capnp/rpc-twoparty.capnp src/capnp/rpc.capnp src/capnp/rpc-twoparty.capnp src/capnp/persistent.capnp
...@@ -63,6 +63,7 @@ set(capnp-rpc_sources ...@@ -63,6 +63,7 @@ set(capnp-rpc_sources
rpc.capnp.c++ rpc.capnp.c++
rpc-twoparty.c++ rpc-twoparty.c++
rpc-twoparty.capnp.c++ rpc-twoparty.capnp.c++
persistent.capnp.c++
ez-rpc.c++ ez-rpc.c++
) )
set(capnp-rpc_headers set(capnp-rpc_headers
...@@ -71,6 +72,7 @@ set(capnp-rpc_headers ...@@ -71,6 +72,7 @@ set(capnp-rpc_headers
rpc-twoparty.h rpc-twoparty.h
rpc.capnp.h rpc.capnp.h
rpc-twoparty.capnp.h rpc-twoparty.capnp.h
persistent.capnp.h
ez-rpc.h ez-rpc.h
) )
if(NOT CAPNP_LITE) if(NOT CAPNP_LITE)
...@@ -98,6 +100,7 @@ set(capnpc_headers ...@@ -98,6 +100,7 @@ set(capnpc_headers
schema.capnp schema.capnp
rpc.capnp rpc.capnp
rpc-twoparty.capnp rpc-twoparty.capnp
persistent.capnp
) )
if(NOT CAPNP_LITE) if(NOT CAPNP_LITE)
add_library(capnpc ${capnpc_sources}) add_library(capnpc ${capnpc_sources})
......
...@@ -52,7 +52,7 @@ fi ...@@ -52,7 +52,7 @@ fi
mkdir -p tmp/capnp/bootstrap-test-tmp mkdir -p tmp/capnp/bootstrap-test-tmp
INPUTS="capnp/c++.capnp capnp/schema.capnp capnp/compiler/lexer.capnp capnp/compiler/grammar.capnp \ INPUTS="capnp/c++.capnp capnp/schema.capnp capnp/compiler/lexer.capnp capnp/compiler/grammar.capnp \
capnp/rpc.capnp capnp/rpc-twoparty.capnp" capnp/rpc.capnp capnp/rpc-twoparty.capnp capnp/persistent.capnp"
SRC_INPUTS="" SRC_INPUTS=""
for file in $INPUTS; do for file in $INPUTS; do
......
# Copyright (c) 2014 Sandstorm Development Group, Inc. and contributors
# Licensed under the MIT License:
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
@0xb8630836983feed7;
$import "/capnp/c++.capnp".namespace("capnp");
interface Persistent@0xc8cb212fcd9f5691(SturdyRef) {
# Interface implemented by capabilities that outlive a single connection. A client may save()
# the capability, producing a SturdyRef. The SturdyRef can be stored to disk, then later used to
# obtain a new reference to the capability on a future connection.
#
# The exact format of SturdyRef depends on the "realm" in which the SturdyRef appears. A "realm"
# is an abstract space in which all SturdyRefs have the same format and refer to the same set of
# resources. Every vat is in exactly one realm. All capability clients within that vat must
# produce SturdyRefs of the format appropriate for the realm.
#
# Similarly, every VatNetwork also resides in a particular realm. Usually, a vat's "realm"
# corresponds to the realm of its main VatNetwork. However, a Vat can in fact communicate over
# a VatNetwork in a different realm -- in this case, all SturdyRefs need to be transformed when
# coming or going through said VatNetwork. The RPC system has hooks for registering
# transformation callbacks for this purpose.
#
# Since the format of SturdyRef is realm-dependent, it is not defined here. An application should
# choose an appropriate realm for itself as part of its design. Note that under Sandstorm, every
# application exists in its own realm and is therefore free to define its own SturdyRef format;
# the Sandstorm platform handles translating between realms.
#
# Note that whether a capability is persistent is often orthogonal to its type. In these cases,
# the capability's interface should NOT inherit `Persistent`; instead, just perform a cast at
# runtime. It's not type-safe, but trying to be type-safe in these cases will likely lead to
# tears. In cases where a particular interface only makes sense on persistent capabilities, it
# *might* make sense to explicitly inherit it. But, even in these cases, you probably don't want
# to specify the `SturdyRef` parameter, since this type may differ from app to app or even host
# to host.
save @0 () -> (sturdyRef :SturdyRef);
# Save a capability persistently so that it can be restored by a future connection. Not all
# capabilities can be saved -- application interfaces should define which capabilities support
# this and which do not.
}
// Generated by Cap'n Proto compiler, DO NOT EDIT
// source: persistent.capnp
#include "persistent.capnp.h"
namespace capnp {
namespace schemas {
static const ::capnp::_::AlignedData<44> b_c8cb212fcd9f5691 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
145, 86, 159, 205, 47, 33, 203, 200,
23, 0, 0, 0, 3, 0, 0, 0,
215, 238, 63, 152, 54, 8, 99, 184,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0,
21, 0, 0, 0, 18, 1, 0, 0,
37, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
33, 0, 0, 0, 71, 0, 0, 0,
113, 0, 0, 0, 7, 0, 0, 0,
113, 0, 0, 0, 15, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
114, 115, 105, 115, 116, 101, 110, 116,
46, 99, 97, 112, 110, 112, 58, 80,
101, 114, 115, 105, 115, 116, 101, 110,
116, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0,
4, 0, 0, 0, 3, 0, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0,
246, 251, 127, 14, 96, 3, 134, 201,
15, 169, 183, 122, 200, 49, 216, 248,
17, 0, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
12, 0, 0, 0, 0, 0, 1, 0,
28, 0, 0, 0, 0, 0, 1, 0,
45, 0, 0, 0, 7, 0, 0, 0,
115, 97, 118, 101, 0, 0, 0, 0,
1, 0, 0, 0, 31, 0, 0, 0,
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 31, 0, 0, 0,
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0, 1, 0,
4, 0, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 82, 0, 0, 0,
83, 116, 117, 114, 100, 121, 82, 101,
102, 0, 0, 0, 0, 0, 0, 0, }
};
::capnp::word const* const bp_c8cb212fcd9f5691 = b_c8cb212fcd9f5691.words;
#if !CAPNP_LITE
static const ::capnp::_::RawSchema* const d_c8cb212fcd9f5691[] = {
&s_c98603600e7ffbf6,
&s_f8d831c87ab7a90f,
};
static const uint16_t m_c8cb212fcd9f5691[] = {0};
const ::capnp::_::RawBrandedSchema::Dependency bd_c8cb212fcd9f5691[] = {
{ 33554432, ::capnp::Persistent<>::SaveParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent<>::SaveResults::_capnpPrivate::brand },
};
const ::capnp::_::RawSchema s_c8cb212fcd9f5691 = {
0xc8cb212fcd9f5691, b_c8cb212fcd9f5691.words, 44, d_c8cb212fcd9f5691, m_c8cb212fcd9f5691,
2, 1, nullptr, nullptr, nullptr, { &s_c8cb212fcd9f5691, nullptr, bd_c8cb212fcd9f5691, 0, sizeof(bd_c8cb212fcd9f5691) / sizeof(bd_c8cb212fcd9f5691[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<18> b_c98603600e7ffbf6 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
246, 251, 127, 14, 96, 3, 134, 201,
34, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0,
21, 0, 0, 0, 114, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
114, 115, 105, 115, 116, 101, 110, 116,
46, 99, 97, 112, 110, 112, 58, 80,
101, 114, 115, 105, 115, 116, 101, 110,
116, 46, 115, 97, 118, 101, 36, 80,
97, 114, 97, 109, 115, 0, 0, 0, }
};
::capnp::word const* const bp_c98603600e7ffbf6 = b_c98603600e7ffbf6.words;
#if !CAPNP_LITE
const ::capnp::_::RawBrandedSchema::Dependency bd_c98603600e7ffbf6[] = {
};
const ::capnp::_::RawSchema s_c98603600e7ffbf6 = {
0xc98603600e7ffbf6, b_c98603600e7ffbf6.words, 18, nullptr, nullptr,
0, 0, nullptr, nullptr, nullptr, { &s_c98603600e7ffbf6, nullptr, bd_c98603600e7ffbf6, 0, sizeof(bd_c98603600e7ffbf6) / sizeof(bd_c98603600e7ffbf6[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<35> b_f8d831c87ab7a90f = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
15, 169, 183, 122, 200, 49, 216, 248,
34, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0,
21, 0, 0, 0, 122, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
33, 0, 0, 0, 63, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
114, 115, 105, 115, 116, 101, 110, 116,
46, 99, 97, 112, 110, 112, 58, 80,
101, 114, 115, 105, 115, 116, 101, 110,
116, 46, 115, 97, 118, 101, 36, 82,
101, 115, 117, 108, 116, 115, 0, 0,
4, 0, 0, 0, 3, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
13, 0, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
12, 0, 0, 0, 3, 0, 1, 0,
24, 0, 0, 0, 2, 0, 1, 0,
115, 116, 117, 114, 100, 121, 82, 101,
102, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, }
};
::capnp::word const* const bp_f8d831c87ab7a90f = b_f8d831c87ab7a90f.words;
#if !CAPNP_LITE
static const uint16_t m_f8d831c87ab7a90f[] = {0};
static const uint16_t i_f8d831c87ab7a90f[] = {0};
const ::capnp::_::RawBrandedSchema::Dependency bd_f8d831c87ab7a90f[] = {
};
const ::capnp::_::RawSchema s_f8d831c87ab7a90f = {
0xf8d831c87ab7a90f, b_f8d831c87ab7a90f.words, 35, nullptr, m_f8d831c87ab7a90f,
0, 1, i_f8d831c87ab7a90f, nullptr, nullptr, { &s_f8d831c87ab7a90f, nullptr, bd_f8d831c87ab7a90f, 0, sizeof(bd_f8d831c87ab7a90f) / sizeof(bd_f8d831c87ab7a90f[0]), nullptr }
};
#endif // !CAPNP_LITE
} // namespace schemas
} // namespace capnp
This diff is collapsed.
...@@ -254,11 +254,14 @@ struct Message { ...@@ -254,11 +254,14 @@ struct Message {
# Level 2 features ----------------------------------------------- # Level 2 features -----------------------------------------------
save @7 :Save; # Save a capability persistently. obsoleteSave @7 :AnyPointer;
# Obsolete request to save a capability, resulting in a SturdyRef. This has been replaced
# by the `Persistent` interface defined in `persistent.capnp`. This operation was never
# implemented.
deprecatedDelete @9 :AnyPointer; obsoleteDelete @9 :AnyPointer;
# Deprecated way to delete a SturdyRef. This was never implemented, therefore it has been # Obsolete way to delete a SturdyRef. This was never implemented, therefore it has been
# reduted to AnyPointer. # reduted to AnyPointer. This operation was never implemented.
# Level 3 features ----------------------------------------------- # Level 3 features -----------------------------------------------
...@@ -745,29 +748,7 @@ struct Disembargo { ...@@ -745,29 +748,7 @@ struct Disembargo {
# Level 2 message types ---------------------------------------------- # Level 2 message types ----------------------------------------------
struct Save { # See persistent.capnp.
# **(level 2)**
#
# Message type sent to save a capability persistently so that it can be restored by a future
# connection. Not all capabilities can be saved -- application interfaces should define which
# capabilities support this and which do not.
#
# The reason this is part of the protocol rather than a regular method on the object is because
# low-level Cap'n Proto infrastructure like proxies are likely to need to special-case `Save`
# requests while other message types are merely passed through. Relatedly, the result of a `Save`
# depends on the network interface on which it is issued -- an application which is connected
# to two separate VatNetworks needs to think about which one a given capability originated from
# when it saves a SturdyRef, whereas for the purpose of any application-level method it wouldn't
# make a difference. Thus, it's likely that the language-level interface to `Save` will look
# different from a regular method anyway.
questionId @0 :QuestionId;
# A new question ID identifying this request, which will eventually receive a Return
# message whose `results` is a SturdyRef.
target @1 :MessageTarget;
# What is to be saved.
}
# Level 3 message types ---------------------------------------------- # Level 3 message types ----------------------------------------------
......
...@@ -75,21 +75,21 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = { ...@@ -75,21 +75,21 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = {
9, 0, 248, 255, 0, 0, 0, 0, 9, 0, 248, 255, 0, 0, 0, 0,
0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153, 1, 0, 0, 42, 0, 0, 0, 153, 1, 0, 0, 106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
148, 1, 0, 0, 3, 0, 1, 0, 152, 1, 0, 0, 3, 0, 1, 0,
160, 1, 0, 0, 2, 0, 1, 0, 164, 1, 0, 0, 2, 0, 1, 0,
2, 0, 247, 255, 0, 0, 0, 0, 2, 0, 247, 255, 0, 0, 0, 0,
0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157, 1, 0, 0, 82, 0, 0, 0, 161, 1, 0, 0, 82, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156, 1, 0, 0, 3, 0, 1, 0, 160, 1, 0, 0, 3, 0, 1, 0,
168, 1, 0, 0, 2, 0, 1, 0, 172, 1, 0, 0, 2, 0, 1, 0,
10, 0, 246, 255, 0, 0, 0, 0, 10, 0, 246, 255, 0, 0, 0, 0,
0, 0, 1, 0, 9, 0, 0, 0, 0, 0, 1, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165, 1, 0, 0, 138, 0, 0, 0, 169, 1, 0, 0, 122, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168, 1, 0, 0, 3, 0, 1, 0, 168, 1, 0, 0, 3, 0, 1, 0,
180, 1, 0, 0, 2, 0, 1, 0, 180, 1, 0, 0, 2, 0, 1, 0,
...@@ -178,12 +178,13 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = { ...@@ -178,12 +178,13 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = {
16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115, 97, 118, 101, 0, 0, 0, 0, 111, 98, 115, 111, 108, 101, 116, 101,
16, 0, 0, 0, 0, 0, 0, 0, 83, 97, 118, 101, 0, 0, 0, 0,
44, 136, 46, 176, 180, 240, 14, 228, 18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98, 111, 111, 116, 115, 116, 114, 97, 98, 111, 111, 116, 115, 116, 114, 97,
...@@ -195,9 +196,8 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = { ...@@ -195,9 +196,8 @@ static const ::capnp::_::AlignedData<232> b_91b79f1f808db032 = {
16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
100, 101, 112, 114, 101, 99, 97, 116, 111, 98, 115, 111, 108, 101, 116, 101,
101, 100, 68, 101, 108, 101, 116, 101, 68, 101, 108, 101, 116, 101, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
...@@ -251,18 +251,17 @@ static const ::capnp::_::RawSchema* const d_91b79f1f808db032[] = { ...@@ -251,18 +251,17 @@ static const ::capnp::_::RawSchema* const d_91b79f1f808db032[] = {
&s_d37d2eb2c2f80e63, &s_d37d2eb2c2f80e63,
&s_d4c9b56290554016, &s_d4c9b56290554016,
&s_d625b7063acf691a, &s_d625b7063acf691a,
&s_e40ef0b4b02e882c,
&s_e94ccf8031176ec4, &s_e94ccf8031176ec4,
&s_f964368b0fbd3711, &s_f964368b0fbd3711,
&s_fbe1980490e001af, &s_fbe1980490e001af,
}; };
static const uint16_t m_91b79f1f808db032[] = {1, 11, 8, 2, 9, 13, 4, 12, 10, 6, 5, 3, 7, 0}; static const uint16_t m_91b79f1f808db032[] = {1, 11, 8, 2, 13, 4, 12, 9, 7, 10, 6, 5, 3, 0};
static const uint16_t i_91b79f1f808db032[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; static const uint16_t i_91b79f1f808db032[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
const ::capnp::_::RawBrandedSchema::Dependency bd_91b79f1f808db032[] = { const ::capnp::_::RawBrandedSchema::Dependency bd_91b79f1f808db032[] = {
}; };
const ::capnp::_::RawSchema s_91b79f1f808db032 = { const ::capnp::_::RawSchema s_91b79f1f808db032 = {
0x91b79f1f808db032, b_91b79f1f808db032.words, 232, d_91b79f1f808db032, m_91b79f1f808db032, 0x91b79f1f808db032, b_91b79f1f808db032.words, 232, d_91b79f1f808db032, m_91b79f1f808db032,
13, 14, i_91b79f1f808db032, nullptr, nullptr, { &s_91b79f1f808db032, nullptr, bd_91b79f1f808db032, 0, sizeof(bd_91b79f1f808db032) / sizeof(bd_91b79f1f808db032[0]), nullptr } 12, 14, i_91b79f1f808db032, nullptr, nullptr, { &s_91b79f1f808db032, nullptr, bd_91b79f1f808db032, 0, sizeof(bd_91b79f1f808db032) / sizeof(bd_91b79f1f808db032[0]), nullptr }
}; };
#endif // !CAPNP_LITE #endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<51> b_e94ccf8031176ec4 = { static const ::capnp::_::AlignedData<51> b_e94ccf8031176ec4 = {
...@@ -1074,70 +1073,6 @@ const ::capnp::_::RawSchema s_d562b4df655bdd4d = { ...@@ -1074,70 +1073,6 @@ const ::capnp::_::RawSchema s_d562b4df655bdd4d = {
1, 4, i_d562b4df655bdd4d, nullptr, nullptr, { &s_d562b4df655bdd4d, nullptr, bd_d562b4df655bdd4d, 0, sizeof(bd_d562b4df655bdd4d) / sizeof(bd_d562b4df655bdd4d[0]), nullptr } 1, 4, i_d562b4df655bdd4d, nullptr, nullptr, { &s_d562b4df655bdd4d, nullptr, bd_d562b4df655bdd4d, 0, sizeof(bd_d562b4df655bdd4d) / sizeof(bd_d562b4df655bdd4d[0]), nullptr }
}; };
#endif // !CAPNP_LITE #endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<48> b_e40ef0b4b02e882c = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
44, 136, 46, 176, 180, 240, 14, 228,
16, 0, 0, 0, 1, 0, 1, 0,
80, 162, 82, 37, 27, 152, 18, 179,
1, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
21, 0, 0, 0, 170, 0, 0, 0,
29, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
25, 0, 0, 0, 119, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 97, 112, 110, 112, 47, 114, 112,
99, 46, 99, 97, 112, 110, 112, 58,
83, 97, 118, 101, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0,
8, 0, 0, 0, 3, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
41, 0, 0, 0, 90, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
40, 0, 0, 0, 3, 0, 1, 0,
52, 0, 0, 0, 2, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
49, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
44, 0, 0, 0, 3, 0, 1, 0,
56, 0, 0, 0, 2, 0, 1, 0,
113, 117, 101, 115, 116, 105, 111, 110,
73, 100, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
116, 97, 114, 103, 101, 116, 0, 0,
16, 0, 0, 0, 0, 0, 0, 0,
193, 251, 19, 88, 84, 20, 188, 149,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, }
};
::capnp::word const* const bp_e40ef0b4b02e882c = b_e40ef0b4b02e882c.words;
#if !CAPNP_LITE
static const ::capnp::_::RawSchema* const d_e40ef0b4b02e882c[] = {
&s_95bc14545813fbc1,
};
static const uint16_t m_e40ef0b4b02e882c[] = {0, 1};
static const uint16_t i_e40ef0b4b02e882c[] = {0, 1};
const ::capnp::_::RawBrandedSchema::Dependency bd_e40ef0b4b02e882c[] = {
};
const ::capnp::_::RawSchema s_e40ef0b4b02e882c = {
0xe40ef0b4b02e882c, b_e40ef0b4b02e882c.words, 48, d_e40ef0b4b02e882c, m_e40ef0b4b02e882c,
1, 2, i_e40ef0b4b02e882c, nullptr, nullptr, { &s_e40ef0b4b02e882c, nullptr, bd_e40ef0b4b02e882c, 0, sizeof(bd_e40ef0b4b02e882c) / sizeof(bd_e40ef0b4b02e882c[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<64> b_9c6a046bfbc1ac5a = { static const ::capnp::_::AlignedData<64> b_9c6a046bfbc1ac5a = {
{ 0, 0, 0, 0, 5, 0, 6, 0, { 0, 0, 0, 0, 5, 0, 6, 0,
90, 172, 193, 251, 107, 4, 106, 156, 90, 172, 193, 251, 107, 4, 106, 156,
...@@ -1987,7 +1922,6 @@ CAPNP_DEFINE_STRUCT(Resolve, , bbc29655fa89086e); ...@@ -1987,7 +1922,6 @@ CAPNP_DEFINE_STRUCT(Resolve, , bbc29655fa89086e);
CAPNP_DEFINE_STRUCT(Release, , ad1a6c0d7dd07497); CAPNP_DEFINE_STRUCT(Release, , ad1a6c0d7dd07497);
CAPNP_DEFINE_STRUCT(Disembargo, , f964368b0fbd3711); CAPNP_DEFINE_STRUCT(Disembargo, , f964368b0fbd3711);
CAPNP_DEFINE_STRUCT(Disembargo::Context, , d562b4df655bdd4d); CAPNP_DEFINE_STRUCT(Disembargo::Context, , d562b4df655bdd4d);
CAPNP_DEFINE_STRUCT(Save, , e40ef0b4b02e882c);
CAPNP_DEFINE_STRUCT(Provide, , 9c6a046bfbc1ac5a); CAPNP_DEFINE_STRUCT(Provide, , 9c6a046bfbc1ac5a);
CAPNP_DEFINE_STRUCT(Accept, , d4c9b56290554016); CAPNP_DEFINE_STRUCT(Accept, , d4c9b56290554016);
CAPNP_DEFINE_STRUCT(Join, , fbe1980490e001af); CAPNP_DEFINE_STRUCT(Join, , fbe1980490e001af);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment