diff vamp-capnp/piper.capnp.h @ 106:a0edd7c97d2d

Add generated files -- they aren't supposed to change (much?) I think and it's better than expecting the compiler to be present on every platform
author Chris Cannam <c.cannam@qmul.ac.uk>
date Mon, 17 Oct 2016 18:56:18 +0100
parents
children 5b113c87b6e6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vamp-capnp/piper.capnp.h	Mon Oct 17 18:56:18 2016 +0100
@@ -0,0 +1,6230 @@
+// Generated by Cap'n Proto compiler, DO NOT EDIT
+// source: piper.capnp
+
+#ifndef CAPNP_INCLUDED_c4b1c6c44c999206_
+#define CAPNP_INCLUDED_c4b1c6c44c999206_
+
+#include <capnp/generated-header-support.h>
+
+#if CAPNP_VERSION != 6000
+#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
+#endif
+
+
+namespace capnp {
+namespace schemas {
+
+CAPNP_DECLARE_SCHEMA(b491ca63222c253f);
+CAPNP_DECLARE_SCHEMA(f8fda10bef70a97d);
+CAPNP_DECLARE_SCHEMA(eca23e4a04bdfeb2);
+enum class SampleType_eca23e4a04bdfeb2: uint16_t {
+  ONE_SAMPLE_PER_STEP,
+  FIXED_SAMPLE_RATE,
+  VARIABLE_SAMPLE_RATE,
+};
+CAPNP_DECLARE_ENUM(SampleType, eca23e4a04bdfeb2);
+CAPNP_DECLARE_SCHEMA(b2d0c825aac8249c);
+CAPNP_DECLARE_SCHEMA(902c6065e1be824a);
+CAPNP_DECLARE_SCHEMA(f50fb3b9c1bf75f4);
+enum class InputDomain_f50fb3b9c1bf75f4: uint16_t {
+  TIME_DOMAIN,
+  FREQUENCY_DOMAIN,
+};
+CAPNP_DECLARE_ENUM(InputDomain, f50fb3b9c1bf75f4);
+CAPNP_DECLARE_SCHEMA(b83ac85463e6caa1);
+CAPNP_DECLARE_SCHEMA(84d515888a427d07);
+CAPNP_DECLARE_SCHEMA(c6f3f05f2bc614ba);
+CAPNP_DECLARE_SCHEMA(d6a172208c9a1760);
+CAPNP_DECLARE_SCHEMA(ffa3fccceb684869);
+CAPNP_DECLARE_SCHEMA(ab2572c346316b24);
+CAPNP_DECLARE_SCHEMA(db209a01f86fe045);
+CAPNP_DECLARE_SCHEMA(900b56fed422dd37);
+CAPNP_DECLARE_SCHEMA(b5edf73eb2e79c4e);
+enum class AdapterFlag_b5edf73eb2e79c4e: uint16_t {
+  ADAPT_INPUT_DOMAIN,
+  ADAPT_CHANNEL_COUNT,
+  ADAPT_BUFFER_SIZE,
+};
+CAPNP_DECLARE_ENUM(AdapterFlag, b5edf73eb2e79c4e);
+CAPNP_DECLARE_SCHEMA(9ed58097be8bc6f3);
+CAPNP_DECLARE_SCHEMA(eb49b9892c5b9b83);
+CAPNP_DECLARE_SCHEMA(b54ff18dabd0d4e1);
+CAPNP_DECLARE_SCHEMA(c8b36e8e9e8d6f15);
+CAPNP_DECLARE_SCHEMA(fca0f520555d0c94);
+CAPNP_DECLARE_SCHEMA(82fb08d7f06fe81d);
+CAPNP_DECLARE_SCHEMA(fcf72b478bbe9d02);
+CAPNP_DECLARE_SCHEMA(c433db5864bf6d56);
+CAPNP_DECLARE_SCHEMA(ea87c8bff474ddce);
+CAPNP_DECLARE_SCHEMA(fe801447309c2782);
+CAPNP_DECLARE_SCHEMA(d8c0271e01d84377);
+CAPNP_DECLARE_SCHEMA(ff4c6fd2917a8eb7);
+CAPNP_DECLARE_SCHEMA(a7e9dceb8fbd0e23);
+CAPNP_DECLARE_SCHEMA(df8b913d24f04413);
+CAPNP_DECLARE_SCHEMA(a56d2f77e663c2f9);
+CAPNP_DECLARE_SCHEMA(a6fbd69d9815fb3a);
+CAPNP_DECLARE_SCHEMA(b1fd870b8c5fe885);
+CAPNP_DECLARE_SCHEMA(d6d526aed45ac1db);
+CAPNP_DECLARE_SCHEMA(ad12bb4485b0d3ac);
+
+}  // namespace schemas
+}  // namespace capnp
+
+namespace piper {
+
+struct Basic {
+  Basic() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(b491ca63222c253f, 0, 3)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ParameterDescriptor {
+  ParameterDescriptor() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(f8fda10bef70a97d, 3, 3)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+typedef ::capnp::schemas::SampleType_eca23e4a04bdfeb2 SampleType;
+
+struct ConfiguredOutputDescriptor {
+  ConfiguredOutputDescriptor() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(b2d0c825aac8249c, 3, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct OutputDescriptor {
+  OutputDescriptor() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(902c6065e1be824a, 0, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+typedef ::capnp::schemas::InputDomain_f50fb3b9c1bf75f4 InputDomain;
+
+struct ExtractorStaticData {
+  ExtractorStaticData() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(b83ac85463e6caa1, 2, 8)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RealTime {
+  RealTime() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(84d515888a427d07, 1, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ProcessInput {
+  ProcessInput() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(c6f3f05f2bc614ba, 0, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct Feature {
+  Feature() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(d6a172208c9a1760, 1, 4)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct FeatureSet {
+  FeatureSet() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  struct FSPair;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(ffa3fccceb684869, 0, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct FeatureSet::FSPair {
+  FSPair() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(ab2572c346316b24, 0, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct Configuration {
+  Configuration() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  struct PVPair;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(db209a01f86fe045, 2, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct Configuration::PVPair {
+  PVPair() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(900b56fed422dd37, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+typedef ::capnp::schemas::AdapterFlag_b5edf73eb2e79c4e AdapterFlag;
+
+extern const ::capnp::_::ConstList< ::piper::AdapterFlag> ADAPT_ALL_SAFE;
+extern const ::capnp::_::ConstList< ::piper::AdapterFlag> ADAPT_ALL;
+struct ListRequest {
+  ListRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(b54ff18dabd0d4e1, 0, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ListResponse {
+  ListResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(c8b36e8e9e8d6f15, 0, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct LoadRequest {
+  LoadRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(fca0f520555d0c94, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct LoadResponse {
+  LoadResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(82fb08d7f06fe81d, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ConfigurationRequest {
+  ConfigurationRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(fcf72b478bbe9d02, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ConfigurationResponse {
+  ConfigurationResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(c433db5864bf6d56, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ProcessRequest {
+  ProcessRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(ea87c8bff474ddce, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct ProcessResponse {
+  ProcessResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(fe801447309c2782, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct FinishRequest {
+  FinishRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(d8c0271e01d84377, 1, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct FinishResponse {
+  FinishResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(ff4c6fd2917a8eb7, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct Error {
+  Error() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(a7e9dceb8fbd0e23, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcRequest {
+  RpcRequest() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  struct Id;
+  struct Request;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(df8b913d24f04413, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcRequest::Id {
+  Id() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  enum Which: uint16_t {
+    NUMBER,
+    TAG,
+    NONE,
+  };
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(a56d2f77e663c2f9, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcRequest::Request {
+  Request() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  enum Which: uint16_t {
+    LIST,
+    LOAD,
+    CONFIGURE,
+    PROCESS,
+    FINISH,
+  };
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(a6fbd69d9815fb3a, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcResponse {
+  RpcResponse() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  struct Id;
+  struct Response;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(b1fd870b8c5fe885, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcResponse::Id {
+  Id() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  enum Which: uint16_t {
+    NUMBER,
+    TAG,
+    NONE,
+  };
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(d6d526aed45ac1db, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RpcResponse::Response {
+  Response() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+  enum Which: uint16_t {
+    ERROR,
+    LIST,
+    LOAD,
+    CONFIGURE,
+    PROCESS,
+    FINISH,
+  };
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(ad12bb4485b0d3ac, 1, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
+    #endif  // !CAPNP_LITE
+  };
+};
+
+// =======================================================================================
+
+class Basic::Reader {
+public:
+  typedef Basic Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasIdentifier() const;
+  inline  ::capnp::Text::Reader getIdentifier() const;
+
+  inline bool hasName() const;
+  inline  ::capnp::Text::Reader getName() const;
+
+  inline bool hasDescription() const;
+  inline  ::capnp::Text::Reader getDescription() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class Basic::Builder {
+public:
+  typedef Basic Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasIdentifier();
+  inline  ::capnp::Text::Builder getIdentifier();
+  inline void setIdentifier( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initIdentifier(unsigned int size);
+  inline void adoptIdentifier(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownIdentifier();
+
+  inline bool hasName();
+  inline  ::capnp::Text::Builder getName();
+  inline void setName( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initName(unsigned int size);
+  inline void adoptName(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownName();
+
+  inline bool hasDescription();
+  inline  ::capnp::Text::Builder getDescription();
+  inline void setDescription( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initDescription(unsigned int size);
+  inline void adoptDescription(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownDescription();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class Basic::Pipeline {
+public:
+  typedef Basic Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ParameterDescriptor::Reader {
+public:
+  typedef ParameterDescriptor Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasBasic() const;
+  inline  ::piper::Basic::Reader getBasic() const;
+
+  inline bool hasUnit() const;
+  inline  ::capnp::Text::Reader getUnit() const;
+
+  inline float getMinValue() const;
+
+  inline float getMaxValue() const;
+
+  inline float getDefaultValue() const;
+
+  inline bool getIsQuantized() const;
+
+  inline float getQuantizeStep() const;
+
+  inline bool hasValueNames() const;
+  inline  ::capnp::List< ::capnp::Text>::Reader getValueNames() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ParameterDescriptor::Builder {
+public:
+  typedef ParameterDescriptor Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasBasic();
+  inline  ::piper::Basic::Builder getBasic();
+  inline void setBasic( ::piper::Basic::Reader value);
+  inline  ::piper::Basic::Builder initBasic();
+  inline void adoptBasic(::capnp::Orphan< ::piper::Basic>&& value);
+  inline ::capnp::Orphan< ::piper::Basic> disownBasic();
+
+  inline bool hasUnit();
+  inline  ::capnp::Text::Builder getUnit();
+  inline void setUnit( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initUnit(unsigned int size);
+  inline void adoptUnit(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownUnit();
+
+  inline float getMinValue();
+  inline void setMinValue(float value);
+
+  inline float getMaxValue();
+  inline void setMaxValue(float value);
+
+  inline float getDefaultValue();
+  inline void setDefaultValue(float value);
+
+  inline bool getIsQuantized();
+  inline void setIsQuantized(bool value);
+
+  inline float getQuantizeStep();
+  inline void setQuantizeStep(float value);
+
+  inline bool hasValueNames();
+  inline  ::capnp::List< ::capnp::Text>::Builder getValueNames();
+  inline void setValueNames( ::capnp::List< ::capnp::Text>::Reader value);
+  inline void setValueNames(::kj::ArrayPtr<const  ::capnp::Text::Reader> value);
+  inline  ::capnp::List< ::capnp::Text>::Builder initValueNames(unsigned int size);
+  inline void adoptValueNames(::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> disownValueNames();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ParameterDescriptor::Pipeline {
+public:
+  typedef ParameterDescriptor Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::Basic::Pipeline getBasic();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ConfiguredOutputDescriptor::Reader {
+public:
+  typedef ConfiguredOutputDescriptor Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasUnit() const;
+  inline  ::capnp::Text::Reader getUnit() const;
+
+  inline bool getHasFixedBinCount() const;
+
+  inline  ::int32_t getBinCount() const;
+
+  inline bool hasBinNames() const;
+  inline  ::capnp::List< ::capnp::Text>::Reader getBinNames() const;
+
+  inline bool getHasKnownExtents() const;
+
+  inline float getMinValue() const;
+
+  inline float getMaxValue() const;
+
+  inline bool getIsQuantized() const;
+
+  inline float getQuantizeStep() const;
+
+  inline  ::piper::SampleType getSampleType() const;
+
+  inline float getSampleRate() const;
+
+  inline bool getHasDuration() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ConfiguredOutputDescriptor::Builder {
+public:
+  typedef ConfiguredOutputDescriptor Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasUnit();
+  inline  ::capnp::Text::Builder getUnit();
+  inline void setUnit( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initUnit(unsigned int size);
+  inline void adoptUnit(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownUnit();
+
+  inline bool getHasFixedBinCount();
+  inline void setHasFixedBinCount(bool value);
+
+  inline  ::int32_t getBinCount();
+  inline void setBinCount( ::int32_t value);
+
+  inline bool hasBinNames();
+  inline  ::capnp::List< ::capnp::Text>::Builder getBinNames();
+  inline void setBinNames( ::capnp::List< ::capnp::Text>::Reader value);
+  inline void setBinNames(::kj::ArrayPtr<const  ::capnp::Text::Reader> value);
+  inline  ::capnp::List< ::capnp::Text>::Builder initBinNames(unsigned int size);
+  inline void adoptBinNames(::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> disownBinNames();
+
+  inline bool getHasKnownExtents();
+  inline void setHasKnownExtents(bool value);
+
+  inline float getMinValue();
+  inline void setMinValue(float value);
+
+  inline float getMaxValue();
+  inline void setMaxValue(float value);
+
+  inline bool getIsQuantized();
+  inline void setIsQuantized(bool value);
+
+  inline float getQuantizeStep();
+  inline void setQuantizeStep(float value);
+
+  inline  ::piper::SampleType getSampleType();
+  inline void setSampleType( ::piper::SampleType value);
+
+  inline float getSampleRate();
+  inline void setSampleRate(float value);
+
+  inline bool getHasDuration();
+  inline void setHasDuration(bool value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ConfiguredOutputDescriptor::Pipeline {
+public:
+  typedef ConfiguredOutputDescriptor Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class OutputDescriptor::Reader {
+public:
+  typedef OutputDescriptor Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasBasic() const;
+  inline  ::piper::Basic::Reader getBasic() const;
+
+  inline bool hasConfigured() const;
+  inline  ::piper::ConfiguredOutputDescriptor::Reader getConfigured() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class OutputDescriptor::Builder {
+public:
+  typedef OutputDescriptor Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasBasic();
+  inline  ::piper::Basic::Builder getBasic();
+  inline void setBasic( ::piper::Basic::Reader value);
+  inline  ::piper::Basic::Builder initBasic();
+  inline void adoptBasic(::capnp::Orphan< ::piper::Basic>&& value);
+  inline ::capnp::Orphan< ::piper::Basic> disownBasic();
+
+  inline bool hasConfigured();
+  inline  ::piper::ConfiguredOutputDescriptor::Builder getConfigured();
+  inline void setConfigured( ::piper::ConfiguredOutputDescriptor::Reader value);
+  inline  ::piper::ConfiguredOutputDescriptor::Builder initConfigured();
+  inline void adoptConfigured(::capnp::Orphan< ::piper::ConfiguredOutputDescriptor>&& value);
+  inline ::capnp::Orphan< ::piper::ConfiguredOutputDescriptor> disownConfigured();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class OutputDescriptor::Pipeline {
+public:
+  typedef OutputDescriptor Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::Basic::Pipeline getBasic();
+  inline  ::piper::ConfiguredOutputDescriptor::Pipeline getConfigured();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ExtractorStaticData::Reader {
+public:
+  typedef ExtractorStaticData Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasKey() const;
+  inline  ::capnp::Text::Reader getKey() const;
+
+  inline bool hasBasic() const;
+  inline  ::piper::Basic::Reader getBasic() const;
+
+  inline bool hasMaker() const;
+  inline  ::capnp::Text::Reader getMaker() const;
+
+  inline bool hasCopyright() const;
+  inline  ::capnp::Text::Reader getCopyright() const;
+
+  inline  ::int32_t getVersion() const;
+
+  inline bool hasCategory() const;
+  inline  ::capnp::List< ::capnp::Text>::Reader getCategory() const;
+
+  inline  ::int32_t getMinChannelCount() const;
+
+  inline  ::int32_t getMaxChannelCount() const;
+
+  inline bool hasParameters() const;
+  inline  ::capnp::List< ::piper::ParameterDescriptor>::Reader getParameters() const;
+
+  inline bool hasPrograms() const;
+  inline  ::capnp::List< ::capnp::Text>::Reader getPrograms() const;
+
+  inline  ::piper::InputDomain getInputDomain() const;
+
+  inline bool hasBasicOutputInfo() const;
+  inline  ::capnp::List< ::piper::Basic>::Reader getBasicOutputInfo() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ExtractorStaticData::Builder {
+public:
+  typedef ExtractorStaticData Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasKey();
+  inline  ::capnp::Text::Builder getKey();
+  inline void setKey( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initKey(unsigned int size);
+  inline void adoptKey(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownKey();
+
+  inline bool hasBasic();
+  inline  ::piper::Basic::Builder getBasic();
+  inline void setBasic( ::piper::Basic::Reader value);
+  inline  ::piper::Basic::Builder initBasic();
+  inline void adoptBasic(::capnp::Orphan< ::piper::Basic>&& value);
+  inline ::capnp::Orphan< ::piper::Basic> disownBasic();
+
+  inline bool hasMaker();
+  inline  ::capnp::Text::Builder getMaker();
+  inline void setMaker( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initMaker(unsigned int size);
+  inline void adoptMaker(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownMaker();
+
+  inline bool hasCopyright();
+  inline  ::capnp::Text::Builder getCopyright();
+  inline void setCopyright( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initCopyright(unsigned int size);
+  inline void adoptCopyright(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownCopyright();
+
+  inline  ::int32_t getVersion();
+  inline void setVersion( ::int32_t value);
+
+  inline bool hasCategory();
+  inline  ::capnp::List< ::capnp::Text>::Builder getCategory();
+  inline void setCategory( ::capnp::List< ::capnp::Text>::Reader value);
+  inline void setCategory(::kj::ArrayPtr<const  ::capnp::Text::Reader> value);
+  inline  ::capnp::List< ::capnp::Text>::Builder initCategory(unsigned int size);
+  inline void adoptCategory(::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> disownCategory();
+
+  inline  ::int32_t getMinChannelCount();
+  inline void setMinChannelCount( ::int32_t value);
+
+  inline  ::int32_t getMaxChannelCount();
+  inline void setMaxChannelCount( ::int32_t value);
+
+  inline bool hasParameters();
+  inline  ::capnp::List< ::piper::ParameterDescriptor>::Builder getParameters();
+  inline void setParameters( ::capnp::List< ::piper::ParameterDescriptor>::Reader value);
+  inline  ::capnp::List< ::piper::ParameterDescriptor>::Builder initParameters(unsigned int size);
+  inline void adoptParameters(::capnp::Orphan< ::capnp::List< ::piper::ParameterDescriptor>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::ParameterDescriptor>> disownParameters();
+
+  inline bool hasPrograms();
+  inline  ::capnp::List< ::capnp::Text>::Builder getPrograms();
+  inline void setPrograms( ::capnp::List< ::capnp::Text>::Reader value);
+  inline void setPrograms(::kj::ArrayPtr<const  ::capnp::Text::Reader> value);
+  inline  ::capnp::List< ::capnp::Text>::Builder initPrograms(unsigned int size);
+  inline void adoptPrograms(::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> disownPrograms();
+
+  inline  ::piper::InputDomain getInputDomain();
+  inline void setInputDomain( ::piper::InputDomain value);
+
+  inline bool hasBasicOutputInfo();
+  inline  ::capnp::List< ::piper::Basic>::Builder getBasicOutputInfo();
+  inline void setBasicOutputInfo( ::capnp::List< ::piper::Basic>::Reader value);
+  inline  ::capnp::List< ::piper::Basic>::Builder initBasicOutputInfo(unsigned int size);
+  inline void adoptBasicOutputInfo(::capnp::Orphan< ::capnp::List< ::piper::Basic>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::Basic>> disownBasicOutputInfo();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ExtractorStaticData::Pipeline {
+public:
+  typedef ExtractorStaticData Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::Basic::Pipeline getBasic();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RealTime::Reader {
+public:
+  typedef RealTime Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getSec() const;
+
+  inline  ::int32_t getNsec() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RealTime::Builder {
+public:
+  typedef RealTime Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getSec();
+  inline void setSec( ::int32_t value);
+
+  inline  ::int32_t getNsec();
+  inline void setNsec( ::int32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RealTime::Pipeline {
+public:
+  typedef RealTime Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ProcessInput::Reader {
+public:
+  typedef ProcessInput Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasInputBuffers() const;
+  inline  ::capnp::List< ::capnp::List<float>>::Reader getInputBuffers() const;
+
+  inline bool hasTimestamp() const;
+  inline  ::piper::RealTime::Reader getTimestamp() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ProcessInput::Builder {
+public:
+  typedef ProcessInput Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasInputBuffers();
+  inline  ::capnp::List< ::capnp::List<float>>::Builder getInputBuffers();
+  inline void setInputBuffers( ::capnp::List< ::capnp::List<float>>::Reader value);
+  inline void setInputBuffers(::kj::ArrayPtr<const  ::capnp::List<float>::Reader> value);
+  inline  ::capnp::List< ::capnp::List<float>>::Builder initInputBuffers(unsigned int size);
+  inline void adoptInputBuffers(::capnp::Orphan< ::capnp::List< ::capnp::List<float>>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::capnp::List<float>>> disownInputBuffers();
+
+  inline bool hasTimestamp();
+  inline  ::piper::RealTime::Builder getTimestamp();
+  inline void setTimestamp( ::piper::RealTime::Reader value);
+  inline  ::piper::RealTime::Builder initTimestamp();
+  inline void adoptTimestamp(::capnp::Orphan< ::piper::RealTime>&& value);
+  inline ::capnp::Orphan< ::piper::RealTime> disownTimestamp();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ProcessInput::Pipeline {
+public:
+  typedef ProcessInput Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::RealTime::Pipeline getTimestamp();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class Feature::Reader {
+public:
+  typedef Feature Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool getHasTimestamp() const;
+
+  inline bool hasTimestamp() const;
+  inline  ::piper::RealTime::Reader getTimestamp() const;
+
+  inline bool getHasDuration() const;
+
+  inline bool hasDuration() const;
+  inline  ::piper::RealTime::Reader getDuration() const;
+
+  inline bool hasLabel() const;
+  inline  ::capnp::Text::Reader getLabel() const;
+
+  inline bool hasFeatureValues() const;
+  inline  ::capnp::List<float>::Reader getFeatureValues() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class Feature::Builder {
+public:
+  typedef Feature Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool getHasTimestamp();
+  inline void setHasTimestamp(bool value);
+
+  inline bool hasTimestamp();
+  inline  ::piper::RealTime::Builder getTimestamp();
+  inline void setTimestamp( ::piper::RealTime::Reader value);
+  inline  ::piper::RealTime::Builder initTimestamp();
+  inline void adoptTimestamp(::capnp::Orphan< ::piper::RealTime>&& value);
+  inline ::capnp::Orphan< ::piper::RealTime> disownTimestamp();
+
+  inline bool getHasDuration();
+  inline void setHasDuration(bool value);
+
+  inline bool hasDuration();
+  inline  ::piper::RealTime::Builder getDuration();
+  inline void setDuration( ::piper::RealTime::Reader value);
+  inline  ::piper::RealTime::Builder initDuration();
+  inline void adoptDuration(::capnp::Orphan< ::piper::RealTime>&& value);
+  inline ::capnp::Orphan< ::piper::RealTime> disownDuration();
+
+  inline bool hasLabel();
+  inline  ::capnp::Text::Builder getLabel();
+  inline void setLabel( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initLabel(unsigned int size);
+  inline void adoptLabel(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownLabel();
+
+  inline bool hasFeatureValues();
+  inline  ::capnp::List<float>::Builder getFeatureValues();
+  inline void setFeatureValues( ::capnp::List<float>::Reader value);
+  inline void setFeatureValues(::kj::ArrayPtr<const float> value);
+  inline  ::capnp::List<float>::Builder initFeatureValues(unsigned int size);
+  inline void adoptFeatureValues(::capnp::Orphan< ::capnp::List<float>>&& value);
+  inline ::capnp::Orphan< ::capnp::List<float>> disownFeatureValues();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class Feature::Pipeline {
+public:
+  typedef Feature Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::RealTime::Pipeline getTimestamp();
+  inline  ::piper::RealTime::Pipeline getDuration();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class FeatureSet::Reader {
+public:
+  typedef FeatureSet Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasFeaturePairs() const;
+  inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Reader getFeaturePairs() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class FeatureSet::Builder {
+public:
+  typedef FeatureSet Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasFeaturePairs();
+  inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Builder getFeaturePairs();
+  inline void setFeaturePairs( ::capnp::List< ::piper::FeatureSet::FSPair>::Reader value);
+  inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Builder initFeaturePairs(unsigned int size);
+  inline void adoptFeaturePairs(::capnp::Orphan< ::capnp::List< ::piper::FeatureSet::FSPair>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::FeatureSet::FSPair>> disownFeaturePairs();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class FeatureSet::Pipeline {
+public:
+  typedef FeatureSet Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class FeatureSet::FSPair::Reader {
+public:
+  typedef FSPair Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasOutput() const;
+  inline  ::capnp::Text::Reader getOutput() const;
+
+  inline bool hasFeatures() const;
+  inline  ::capnp::List< ::piper::Feature>::Reader getFeatures() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class FeatureSet::FSPair::Builder {
+public:
+  typedef FSPair Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasOutput();
+  inline  ::capnp::Text::Builder getOutput();
+  inline void setOutput( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initOutput(unsigned int size);
+  inline void adoptOutput(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownOutput();
+
+  inline bool hasFeatures();
+  inline  ::capnp::List< ::piper::Feature>::Builder getFeatures();
+  inline void setFeatures( ::capnp::List< ::piper::Feature>::Reader value);
+  inline  ::capnp::List< ::piper::Feature>::Builder initFeatures(unsigned int size);
+  inline void adoptFeatures(::capnp::Orphan< ::capnp::List< ::piper::Feature>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::Feature>> disownFeatures();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class FeatureSet::FSPair::Pipeline {
+public:
+  typedef FSPair Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class Configuration::Reader {
+public:
+  typedef Configuration Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasParameterValues() const;
+  inline  ::capnp::List< ::piper::Configuration::PVPair>::Reader getParameterValues() const;
+
+  inline bool hasCurrentProgram() const;
+  inline  ::capnp::Text::Reader getCurrentProgram() const;
+
+  inline  ::int32_t getChannelCount() const;
+
+  inline  ::int32_t getStepSize() const;
+
+  inline  ::int32_t getBlockSize() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class Configuration::Builder {
+public:
+  typedef Configuration Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasParameterValues();
+  inline  ::capnp::List< ::piper::Configuration::PVPair>::Builder getParameterValues();
+  inline void setParameterValues( ::capnp::List< ::piper::Configuration::PVPair>::Reader value);
+  inline  ::capnp::List< ::piper::Configuration::PVPair>::Builder initParameterValues(unsigned int size);
+  inline void adoptParameterValues(::capnp::Orphan< ::capnp::List< ::piper::Configuration::PVPair>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::Configuration::PVPair>> disownParameterValues();
+
+  inline bool hasCurrentProgram();
+  inline  ::capnp::Text::Builder getCurrentProgram();
+  inline void setCurrentProgram( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initCurrentProgram(unsigned int size);
+  inline void adoptCurrentProgram(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownCurrentProgram();
+
+  inline  ::int32_t getChannelCount();
+  inline void setChannelCount( ::int32_t value);
+
+  inline  ::int32_t getStepSize();
+  inline void setStepSize( ::int32_t value);
+
+  inline  ::int32_t getBlockSize();
+  inline void setBlockSize( ::int32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class Configuration::Pipeline {
+public:
+  typedef Configuration Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class Configuration::PVPair::Reader {
+public:
+  typedef PVPair Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasParameter() const;
+  inline  ::capnp::Text::Reader getParameter() const;
+
+  inline float getValue() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class Configuration::PVPair::Builder {
+public:
+  typedef PVPair Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasParameter();
+  inline  ::capnp::Text::Builder getParameter();
+  inline void setParameter( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initParameter(unsigned int size);
+  inline void adoptParameter(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownParameter();
+
+  inline float getValue();
+  inline void setValue(float value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class Configuration::PVPair::Pipeline {
+public:
+  typedef PVPair Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ListRequest::Reader {
+public:
+  typedef ListRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ListRequest::Builder {
+public:
+  typedef ListRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ListRequest::Pipeline {
+public:
+  typedef ListRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ListResponse::Reader {
+public:
+  typedef ListResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasAvailable() const;
+  inline  ::capnp::List< ::piper::ExtractorStaticData>::Reader getAvailable() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ListResponse::Builder {
+public:
+  typedef ListResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasAvailable();
+  inline  ::capnp::List< ::piper::ExtractorStaticData>::Builder getAvailable();
+  inline void setAvailable( ::capnp::List< ::piper::ExtractorStaticData>::Reader value);
+  inline  ::capnp::List< ::piper::ExtractorStaticData>::Builder initAvailable(unsigned int size);
+  inline void adoptAvailable(::capnp::Orphan< ::capnp::List< ::piper::ExtractorStaticData>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::ExtractorStaticData>> disownAvailable();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ListResponse::Pipeline {
+public:
+  typedef ListResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class LoadRequest::Reader {
+public:
+  typedef LoadRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasKey() const;
+  inline  ::capnp::Text::Reader getKey() const;
+
+  inline float getInputSampleRate() const;
+
+  inline bool hasAdapterFlags() const;
+  inline  ::capnp::List< ::piper::AdapterFlag>::Reader getAdapterFlags() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class LoadRequest::Builder {
+public:
+  typedef LoadRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasKey();
+  inline  ::capnp::Text::Builder getKey();
+  inline void setKey( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initKey(unsigned int size);
+  inline void adoptKey(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownKey();
+
+  inline float getInputSampleRate();
+  inline void setInputSampleRate(float value);
+
+  inline bool hasAdapterFlags();
+  inline  ::capnp::List< ::piper::AdapterFlag>::Builder getAdapterFlags();
+  inline void setAdapterFlags( ::capnp::List< ::piper::AdapterFlag>::Reader value);
+  inline void setAdapterFlags(::kj::ArrayPtr<const  ::piper::AdapterFlag> value);
+  inline  ::capnp::List< ::piper::AdapterFlag>::Builder initAdapterFlags(unsigned int size);
+  inline void adoptAdapterFlags(::capnp::Orphan< ::capnp::List< ::piper::AdapterFlag>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::AdapterFlag>> disownAdapterFlags();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class LoadRequest::Pipeline {
+public:
+  typedef LoadRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class LoadResponse::Reader {
+public:
+  typedef LoadResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasStaticData() const;
+  inline  ::piper::ExtractorStaticData::Reader getStaticData() const;
+
+  inline bool hasDefaultConfiguration() const;
+  inline  ::piper::Configuration::Reader getDefaultConfiguration() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class LoadResponse::Builder {
+public:
+  typedef LoadResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasStaticData();
+  inline  ::piper::ExtractorStaticData::Builder getStaticData();
+  inline void setStaticData( ::piper::ExtractorStaticData::Reader value);
+  inline  ::piper::ExtractorStaticData::Builder initStaticData();
+  inline void adoptStaticData(::capnp::Orphan< ::piper::ExtractorStaticData>&& value);
+  inline ::capnp::Orphan< ::piper::ExtractorStaticData> disownStaticData();
+
+  inline bool hasDefaultConfiguration();
+  inline  ::piper::Configuration::Builder getDefaultConfiguration();
+  inline void setDefaultConfiguration( ::piper::Configuration::Reader value);
+  inline  ::piper::Configuration::Builder initDefaultConfiguration();
+  inline void adoptDefaultConfiguration(::capnp::Orphan< ::piper::Configuration>&& value);
+  inline ::capnp::Orphan< ::piper::Configuration> disownDefaultConfiguration();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class LoadResponse::Pipeline {
+public:
+  typedef LoadResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::ExtractorStaticData::Pipeline getStaticData();
+  inline  ::piper::Configuration::Pipeline getDefaultConfiguration();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ConfigurationRequest::Reader {
+public:
+  typedef ConfigurationRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasConfiguration() const;
+  inline  ::piper::Configuration::Reader getConfiguration() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ConfigurationRequest::Builder {
+public:
+  typedef ConfigurationRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasConfiguration();
+  inline  ::piper::Configuration::Builder getConfiguration();
+  inline void setConfiguration( ::piper::Configuration::Reader value);
+  inline  ::piper::Configuration::Builder initConfiguration();
+  inline void adoptConfiguration(::capnp::Orphan< ::piper::Configuration>&& value);
+  inline ::capnp::Orphan< ::piper::Configuration> disownConfiguration();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ConfigurationRequest::Pipeline {
+public:
+  typedef ConfigurationRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::Configuration::Pipeline getConfiguration();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ConfigurationResponse::Reader {
+public:
+  typedef ConfigurationResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasOutputs() const;
+  inline  ::capnp::List< ::piper::OutputDescriptor>::Reader getOutputs() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ConfigurationResponse::Builder {
+public:
+  typedef ConfigurationResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasOutputs();
+  inline  ::capnp::List< ::piper::OutputDescriptor>::Builder getOutputs();
+  inline void setOutputs( ::capnp::List< ::piper::OutputDescriptor>::Reader value);
+  inline  ::capnp::List< ::piper::OutputDescriptor>::Builder initOutputs(unsigned int size);
+  inline void adoptOutputs(::capnp::Orphan< ::capnp::List< ::piper::OutputDescriptor>>&& value);
+  inline ::capnp::Orphan< ::capnp::List< ::piper::OutputDescriptor>> disownOutputs();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ConfigurationResponse::Pipeline {
+public:
+  typedef ConfigurationResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ProcessRequest::Reader {
+public:
+  typedef ProcessRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasProcessInput() const;
+  inline  ::piper::ProcessInput::Reader getProcessInput() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ProcessRequest::Builder {
+public:
+  typedef ProcessRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasProcessInput();
+  inline  ::piper::ProcessInput::Builder getProcessInput();
+  inline void setProcessInput( ::piper::ProcessInput::Reader value);
+  inline  ::piper::ProcessInput::Builder initProcessInput();
+  inline void adoptProcessInput(::capnp::Orphan< ::piper::ProcessInput>&& value);
+  inline ::capnp::Orphan< ::piper::ProcessInput> disownProcessInput();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ProcessRequest::Pipeline {
+public:
+  typedef ProcessRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::ProcessInput::Pipeline getProcessInput();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class ProcessResponse::Reader {
+public:
+  typedef ProcessResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasFeatures() const;
+  inline  ::piper::FeatureSet::Reader getFeatures() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class ProcessResponse::Builder {
+public:
+  typedef ProcessResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasFeatures();
+  inline  ::piper::FeatureSet::Builder getFeatures();
+  inline void setFeatures( ::piper::FeatureSet::Reader value);
+  inline  ::piper::FeatureSet::Builder initFeatures();
+  inline void adoptFeatures(::capnp::Orphan< ::piper::FeatureSet>&& value);
+  inline ::capnp::Orphan< ::piper::FeatureSet> disownFeatures();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class ProcessResponse::Pipeline {
+public:
+  typedef ProcessResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::FeatureSet::Pipeline getFeatures();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class FinishRequest::Reader {
+public:
+  typedef FinishRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class FinishRequest::Builder {
+public:
+  typedef FinishRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class FinishRequest::Pipeline {
+public:
+  typedef FinishRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class FinishResponse::Reader {
+public:
+  typedef FinishResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle() const;
+
+  inline bool hasFeatures() const;
+  inline  ::piper::FeatureSet::Reader getFeatures() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class FinishResponse::Builder {
+public:
+  typedef FinishResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getHandle();
+  inline void setHandle( ::int32_t value);
+
+  inline bool hasFeatures();
+  inline  ::piper::FeatureSet::Builder getFeatures();
+  inline void setFeatures( ::piper::FeatureSet::Reader value);
+  inline  ::piper::FeatureSet::Builder initFeatures();
+  inline void adoptFeatures(::capnp::Orphan< ::piper::FeatureSet>&& value);
+  inline ::capnp::Orphan< ::piper::FeatureSet> disownFeatures();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class FinishResponse::Pipeline {
+public:
+  typedef FinishResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline  ::piper::FeatureSet::Pipeline getFeatures();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class Error::Reader {
+public:
+  typedef Error Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getCode() const;
+
+  inline bool hasMessage() const;
+  inline  ::capnp::Text::Reader getMessage() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class Error::Builder {
+public:
+  typedef Error Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::int32_t getCode();
+  inline void setCode( ::int32_t value);
+
+  inline bool hasMessage();
+  inline  ::capnp::Text::Builder getMessage();
+  inline void setMessage( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initMessage(unsigned int size);
+  inline void adoptMessage(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownMessage();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class Error::Pipeline {
+public:
+  typedef Error Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcRequest::Reader {
+public:
+  typedef RpcRequest Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Id::Reader getId() const;
+
+  inline Request::Reader getRequest() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcRequest::Builder {
+public:
+  typedef RpcRequest Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Id::Builder getId();
+  inline Id::Builder initId();
+
+  inline Request::Builder getRequest();
+  inline Request::Builder initRequest();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcRequest::Pipeline {
+public:
+  typedef RpcRequest Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline Id::Pipeline getId();
+  inline Request::Pipeline getRequest();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcRequest::Id::Reader {
+public:
+  typedef Id Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Which which() const;
+  inline bool isNumber() const;
+  inline  ::int32_t getNumber() const;
+
+  inline bool isTag() const;
+  inline bool hasTag() const;
+  inline  ::capnp::Text::Reader getTag() const;
+
+  inline bool isNone() const;
+  inline  ::capnp::Void getNone() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcRequest::Id::Builder {
+public:
+  typedef Id Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Which which();
+  inline bool isNumber();
+  inline  ::int32_t getNumber();
+  inline void setNumber( ::int32_t value);
+
+  inline bool isTag();
+  inline bool hasTag();
+  inline  ::capnp::Text::Builder getTag();
+  inline void setTag( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initTag(unsigned int size);
+  inline void adoptTag(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownTag();
+
+  inline bool isNone();
+  inline  ::capnp::Void getNone();
+  inline void setNone( ::capnp::Void value = ::capnp::VOID);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcRequest::Id::Pipeline {
+public:
+  typedef Id Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcRequest::Request::Reader {
+public:
+  typedef Request Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Which which() const;
+  inline bool isList() const;
+  inline bool hasList() const;
+  inline  ::piper::ListRequest::Reader getList() const;
+
+  inline bool isLoad() const;
+  inline bool hasLoad() const;
+  inline  ::piper::LoadRequest::Reader getLoad() const;
+
+  inline bool isConfigure() const;
+  inline bool hasConfigure() const;
+  inline  ::piper::ConfigurationRequest::Reader getConfigure() const;
+
+  inline bool isProcess() const;
+  inline bool hasProcess() const;
+  inline  ::piper::ProcessRequest::Reader getProcess() const;
+
+  inline bool isFinish() const;
+  inline bool hasFinish() const;
+  inline  ::piper::FinishRequest::Reader getFinish() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcRequest::Request::Builder {
+public:
+  typedef Request Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Which which();
+  inline bool isList();
+  inline bool hasList();
+  inline  ::piper::ListRequest::Builder getList();
+  inline void setList( ::piper::ListRequest::Reader value);
+  inline  ::piper::ListRequest::Builder initList();
+  inline void adoptList(::capnp::Orphan< ::piper::ListRequest>&& value);
+  inline ::capnp::Orphan< ::piper::ListRequest> disownList();
+
+  inline bool isLoad();
+  inline bool hasLoad();
+  inline  ::piper::LoadRequest::Builder getLoad();
+  inline void setLoad( ::piper::LoadRequest::Reader value);
+  inline  ::piper::LoadRequest::Builder initLoad();
+  inline void adoptLoad(::capnp::Orphan< ::piper::LoadRequest>&& value);
+  inline ::capnp::Orphan< ::piper::LoadRequest> disownLoad();
+
+  inline bool isConfigure();
+  inline bool hasConfigure();
+  inline  ::piper::ConfigurationRequest::Builder getConfigure();
+  inline void setConfigure( ::piper::ConfigurationRequest::Reader value);
+  inline  ::piper::ConfigurationRequest::Builder initConfigure();
+  inline void adoptConfigure(::capnp::Orphan< ::piper::ConfigurationRequest>&& value);
+  inline ::capnp::Orphan< ::piper::ConfigurationRequest> disownConfigure();
+
+  inline bool isProcess();
+  inline bool hasProcess();
+  inline  ::piper::ProcessRequest::Builder getProcess();
+  inline void setProcess( ::piper::ProcessRequest::Reader value);
+  inline  ::piper::ProcessRequest::Builder initProcess();
+  inline void adoptProcess(::capnp::Orphan< ::piper::ProcessRequest>&& value);
+  inline ::capnp::Orphan< ::piper::ProcessRequest> disownProcess();
+
+  inline bool isFinish();
+  inline bool hasFinish();
+  inline  ::piper::FinishRequest::Builder getFinish();
+  inline void setFinish( ::piper::FinishRequest::Reader value);
+  inline  ::piper::FinishRequest::Builder initFinish();
+  inline void adoptFinish(::capnp::Orphan< ::piper::FinishRequest>&& value);
+  inline ::capnp::Orphan< ::piper::FinishRequest> disownFinish();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcRequest::Request::Pipeline {
+public:
+  typedef Request Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcResponse::Reader {
+public:
+  typedef RpcResponse Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Id::Reader getId() const;
+
+  inline Response::Reader getResponse() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcResponse::Builder {
+public:
+  typedef RpcResponse Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Id::Builder getId();
+  inline Id::Builder initId();
+
+  inline Response::Builder getResponse();
+  inline Response::Builder initResponse();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcResponse::Pipeline {
+public:
+  typedef RpcResponse Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+  inline Id::Pipeline getId();
+  inline Response::Pipeline getResponse();
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcResponse::Id::Reader {
+public:
+  typedef Id Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Which which() const;
+  inline bool isNumber() const;
+  inline  ::int32_t getNumber() const;
+
+  inline bool isTag() const;
+  inline bool hasTag() const;
+  inline  ::capnp::Text::Reader getTag() const;
+
+  inline bool isNone() const;
+  inline  ::capnp::Void getNone() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcResponse::Id::Builder {
+public:
+  typedef Id Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Which which();
+  inline bool isNumber();
+  inline  ::int32_t getNumber();
+  inline void setNumber( ::int32_t value);
+
+  inline bool isTag();
+  inline bool hasTag();
+  inline  ::capnp::Text::Builder getTag();
+  inline void setTag( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initTag(unsigned int size);
+  inline void adoptTag(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownTag();
+
+  inline bool isNone();
+  inline  ::capnp::Void getNone();
+  inline void setNone( ::capnp::Void value = ::capnp::VOID);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcResponse::Id::Pipeline {
+public:
+  typedef Id Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RpcResponse::Response::Reader {
+public:
+  typedef Response Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand);
+  }
+#endif  // !CAPNP_LITE
+
+  inline Which which() const;
+  inline bool isError() const;
+  inline bool hasError() const;
+  inline  ::piper::Error::Reader getError() const;
+
+  inline bool isList() const;
+  inline bool hasList() const;
+  inline  ::piper::ListResponse::Reader getList() const;
+
+  inline bool isLoad() const;
+  inline bool hasLoad() const;
+  inline  ::piper::LoadResponse::Reader getLoad() const;
+
+  inline bool isConfigure() const;
+  inline bool hasConfigure() const;
+  inline  ::piper::ConfigurationResponse::Reader getConfigure() const;
+
+  inline bool isProcess() const;
+  inline bool hasProcess() const;
+  inline  ::piper::ProcessResponse::Reader getProcess() const;
+
+  inline bool isFinish() const;
+  inline bool hasFinish() const;
+  inline  ::piper::FinishResponse::Reader getFinish() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RpcResponse::Response::Builder {
+public:
+  typedef Response Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline Which which();
+  inline bool isError();
+  inline bool hasError();
+  inline  ::piper::Error::Builder getError();
+  inline void setError( ::piper::Error::Reader value);
+  inline  ::piper::Error::Builder initError();
+  inline void adoptError(::capnp::Orphan< ::piper::Error>&& value);
+  inline ::capnp::Orphan< ::piper::Error> disownError();
+
+  inline bool isList();
+  inline bool hasList();
+  inline  ::piper::ListResponse::Builder getList();
+  inline void setList( ::piper::ListResponse::Reader value);
+  inline  ::piper::ListResponse::Builder initList();
+  inline void adoptList(::capnp::Orphan< ::piper::ListResponse>&& value);
+  inline ::capnp::Orphan< ::piper::ListResponse> disownList();
+
+  inline bool isLoad();
+  inline bool hasLoad();
+  inline  ::piper::LoadResponse::Builder getLoad();
+  inline void setLoad( ::piper::LoadResponse::Reader value);
+  inline  ::piper::LoadResponse::Builder initLoad();
+  inline void adoptLoad(::capnp::Orphan< ::piper::LoadResponse>&& value);
+  inline ::capnp::Orphan< ::piper::LoadResponse> disownLoad();
+
+  inline bool isConfigure();
+  inline bool hasConfigure();
+  inline  ::piper::ConfigurationResponse::Builder getConfigure();
+  inline void setConfigure( ::piper::ConfigurationResponse::Reader value);
+  inline  ::piper::ConfigurationResponse::Builder initConfigure();
+  inline void adoptConfigure(::capnp::Orphan< ::piper::ConfigurationResponse>&& value);
+  inline ::capnp::Orphan< ::piper::ConfigurationResponse> disownConfigure();
+
+  inline bool isProcess();
+  inline bool hasProcess();
+  inline  ::piper::ProcessResponse::Builder getProcess();
+  inline void setProcess( ::piper::ProcessResponse::Reader value);
+  inline  ::piper::ProcessResponse::Builder initProcess();
+  inline void adoptProcess(::capnp::Orphan< ::piper::ProcessResponse>&& value);
+  inline ::capnp::Orphan< ::piper::ProcessResponse> disownProcess();
+
+  inline bool isFinish();
+  inline bool hasFinish();
+  inline  ::piper::FinishResponse::Builder getFinish();
+  inline void setFinish( ::piper::FinishResponse::Reader value);
+  inline  ::piper::FinishResponse::Builder initFinish();
+  inline void adoptFinish(::capnp::Orphan< ::piper::FinishResponse>&& value);
+  inline ::capnp::Orphan< ::piper::FinishResponse> disownFinish();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RpcResponse::Response::Pipeline {
+public:
+  typedef Response Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+// =======================================================================================
+
+inline bool Basic::Reader::hasIdentifier() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool Basic::Builder::hasIdentifier() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Basic::Reader::getIdentifier() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Basic::Builder::getIdentifier() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void Basic::Builder::setIdentifier( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Basic::Builder::initIdentifier(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void Basic::Builder::adoptIdentifier(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Basic::Builder::disownIdentifier() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool Basic::Reader::hasName() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool Basic::Builder::hasName() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Basic::Reader::getName() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Basic::Builder::getName() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void Basic::Builder::setName( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Basic::Builder::initName(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void Basic::Builder::adoptName(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Basic::Builder::disownName() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool Basic::Reader::hasDescription() const {
+  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline bool Basic::Builder::hasDescription() {
+  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Basic::Reader::getDescription() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(2 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Basic::Builder::getDescription() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+inline void Basic::Builder::setDescription( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(2 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Basic::Builder::initDescription(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(2 * ::capnp::POINTERS), size);
+}
+inline void Basic::Builder::adoptDescription(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Basic::Builder::disownDescription() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+
+inline bool ParameterDescriptor::Reader::hasBasic() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ParameterDescriptor::Builder::hasBasic() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Basic::Reader ParameterDescriptor::Reader::getBasic() const {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::Basic::Builder ParameterDescriptor::Builder::getBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::Basic::Pipeline ParameterDescriptor::Pipeline::getBasic() {
+  return  ::piper::Basic::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void ParameterDescriptor::Builder::setBasic( ::piper::Basic::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Basic::Builder ParameterDescriptor::Builder::initBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ParameterDescriptor::Builder::adoptBasic(
+    ::capnp::Orphan< ::piper::Basic>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Basic> ParameterDescriptor::Builder::disownBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool ParameterDescriptor::Reader::hasUnit() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool ParameterDescriptor::Builder::hasUnit() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader ParameterDescriptor::Reader::getUnit() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder ParameterDescriptor::Builder::getUnit() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void ParameterDescriptor::Builder::setUnit( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder ParameterDescriptor::Builder::initUnit(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void ParameterDescriptor::Builder::adoptUnit(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> ParameterDescriptor::Builder::disownUnit() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline float ParameterDescriptor::Reader::getMinValue() const {
+  return _reader.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline float ParameterDescriptor::Builder::getMinValue() {
+  return _builder.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ParameterDescriptor::Builder::setMinValue(float value) {
+  _builder.setDataField<float>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline float ParameterDescriptor::Reader::getMaxValue() const {
+  return _reader.getDataField<float>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline float ParameterDescriptor::Builder::getMaxValue() {
+  return _builder.getDataField<float>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void ParameterDescriptor::Builder::setMaxValue(float value) {
+  _builder.setDataField<float>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline float ParameterDescriptor::Reader::getDefaultValue() const {
+  return _reader.getDataField<float>(
+      2 * ::capnp::ELEMENTS);
+}
+
+inline float ParameterDescriptor::Builder::getDefaultValue() {
+  return _builder.getDataField<float>(
+      2 * ::capnp::ELEMENTS);
+}
+inline void ParameterDescriptor::Builder::setDefaultValue(float value) {
+  _builder.setDataField<float>(
+      2 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ParameterDescriptor::Reader::getIsQuantized() const {
+  return _reader.getDataField<bool>(
+      96 * ::capnp::ELEMENTS);
+}
+
+inline bool ParameterDescriptor::Builder::getIsQuantized() {
+  return _builder.getDataField<bool>(
+      96 * ::capnp::ELEMENTS);
+}
+inline void ParameterDescriptor::Builder::setIsQuantized(bool value) {
+  _builder.setDataField<bool>(
+      96 * ::capnp::ELEMENTS, value);
+}
+
+inline float ParameterDescriptor::Reader::getQuantizeStep() const {
+  return _reader.getDataField<float>(
+      4 * ::capnp::ELEMENTS);
+}
+
+inline float ParameterDescriptor::Builder::getQuantizeStep() {
+  return _builder.getDataField<float>(
+      4 * ::capnp::ELEMENTS);
+}
+inline void ParameterDescriptor::Builder::setQuantizeStep(float value) {
+  _builder.setDataField<float>(
+      4 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ParameterDescriptor::Reader::hasValueNames() const {
+  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline bool ParameterDescriptor::Builder::hasValueNames() {
+  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::capnp::Text>::Reader ParameterDescriptor::Reader::getValueNames() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _reader.getPointerField(2 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_f8fda10bef70a97d + 147);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ParameterDescriptor::Builder::getValueNames() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _builder.getPointerField(2 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_f8fda10bef70a97d + 147);
+}
+inline void ParameterDescriptor::Builder::setValueNames( ::capnp::List< ::capnp::Text>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(2 * ::capnp::POINTERS), value);
+}
+inline void ParameterDescriptor::Builder::setValueNames(::kj::ArrayPtr<const  ::capnp::Text::Reader> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(2 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ParameterDescriptor::Builder::initValueNames(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::init(
+      _builder.getPointerField(2 * ::capnp::POINTERS), size);
+}
+inline void ParameterDescriptor::Builder::adoptValueNames(
+    ::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::adopt(
+      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> ParameterDescriptor::Builder::disownValueNames() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::disown(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::hasUnit() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ConfiguredOutputDescriptor::Builder::hasUnit() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader ConfiguredOutputDescriptor::Reader::getUnit() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder ConfiguredOutputDescriptor::Builder::getUnit() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ConfiguredOutputDescriptor::Builder::setUnit( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder ConfiguredOutputDescriptor::Builder::initUnit(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void ConfiguredOutputDescriptor::Builder::adoptUnit(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> ConfiguredOutputDescriptor::Builder::disownUnit() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::getHasFixedBinCount() const {
+  return _reader.getDataField<bool>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline bool ConfiguredOutputDescriptor::Builder::getHasFixedBinCount() {
+  return _builder.getDataField<bool>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setHasFixedBinCount(bool value) {
+  _builder.setDataField<bool>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t ConfiguredOutputDescriptor::Reader::getBinCount() const {
+  return _reader.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ConfiguredOutputDescriptor::Builder::getBinCount() {
+  return _builder.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setBinCount( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::hasBinNames() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool ConfiguredOutputDescriptor::Builder::hasBinNames() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::capnp::Text>::Reader ConfiguredOutputDescriptor::Reader::getBinNames() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_b2d0c825aac8249c + 142);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ConfiguredOutputDescriptor::Builder::getBinNames() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_b2d0c825aac8249c + 142);
+}
+inline void ConfiguredOutputDescriptor::Builder::setBinNames( ::capnp::List< ::capnp::Text>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline void ConfiguredOutputDescriptor::Builder::setBinNames(::kj::ArrayPtr<const  ::capnp::Text::Reader> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ConfiguredOutputDescriptor::Builder::initBinNames(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void ConfiguredOutputDescriptor::Builder::adoptBinNames(
+    ::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> ConfiguredOutputDescriptor::Builder::disownBinNames() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::getHasKnownExtents() const {
+  return _reader.getDataField<bool>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline bool ConfiguredOutputDescriptor::Builder::getHasKnownExtents() {
+  return _builder.getDataField<bool>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setHasKnownExtents(bool value) {
+  _builder.setDataField<bool>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline float ConfiguredOutputDescriptor::Reader::getMinValue() const {
+  return _reader.getDataField<float>(
+      2 * ::capnp::ELEMENTS);
+}
+
+inline float ConfiguredOutputDescriptor::Builder::getMinValue() {
+  return _builder.getDataField<float>(
+      2 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setMinValue(float value) {
+  _builder.setDataField<float>(
+      2 * ::capnp::ELEMENTS, value);
+}
+
+inline float ConfiguredOutputDescriptor::Reader::getMaxValue() const {
+  return _reader.getDataField<float>(
+      3 * ::capnp::ELEMENTS);
+}
+
+inline float ConfiguredOutputDescriptor::Builder::getMaxValue() {
+  return _builder.getDataField<float>(
+      3 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setMaxValue(float value) {
+  _builder.setDataField<float>(
+      3 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::getIsQuantized() const {
+  return _reader.getDataField<bool>(
+      2 * ::capnp::ELEMENTS);
+}
+
+inline bool ConfiguredOutputDescriptor::Builder::getIsQuantized() {
+  return _builder.getDataField<bool>(
+      2 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setIsQuantized(bool value) {
+  _builder.setDataField<bool>(
+      2 * ::capnp::ELEMENTS, value);
+}
+
+inline float ConfiguredOutputDescriptor::Reader::getQuantizeStep() const {
+  return _reader.getDataField<float>(
+      4 * ::capnp::ELEMENTS);
+}
+
+inline float ConfiguredOutputDescriptor::Builder::getQuantizeStep() {
+  return _builder.getDataField<float>(
+      4 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setQuantizeStep(float value) {
+  _builder.setDataField<float>(
+      4 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::piper::SampleType ConfiguredOutputDescriptor::Reader::getSampleType() const {
+  return _reader.getDataField< ::piper::SampleType>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline  ::piper::SampleType ConfiguredOutputDescriptor::Builder::getSampleType() {
+  return _builder.getDataField< ::piper::SampleType>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setSampleType( ::piper::SampleType value) {
+  _builder.setDataField< ::piper::SampleType>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline float ConfiguredOutputDescriptor::Reader::getSampleRate() const {
+  return _reader.getDataField<float>(
+      5 * ::capnp::ELEMENTS);
+}
+
+inline float ConfiguredOutputDescriptor::Builder::getSampleRate() {
+  return _builder.getDataField<float>(
+      5 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setSampleRate(float value) {
+  _builder.setDataField<float>(
+      5 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ConfiguredOutputDescriptor::Reader::getHasDuration() const {
+  return _reader.getDataField<bool>(
+      3 * ::capnp::ELEMENTS);
+}
+
+inline bool ConfiguredOutputDescriptor::Builder::getHasDuration() {
+  return _builder.getDataField<bool>(
+      3 * ::capnp::ELEMENTS);
+}
+inline void ConfiguredOutputDescriptor::Builder::setHasDuration(bool value) {
+  _builder.setDataField<bool>(
+      3 * ::capnp::ELEMENTS, value);
+}
+
+inline bool OutputDescriptor::Reader::hasBasic() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool OutputDescriptor::Builder::hasBasic() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Basic::Reader OutputDescriptor::Reader::getBasic() const {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::Basic::Builder OutputDescriptor::Builder::getBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::Basic::Pipeline OutputDescriptor::Pipeline::getBasic() {
+  return  ::piper::Basic::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void OutputDescriptor::Builder::setBasic( ::piper::Basic::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Basic::Builder OutputDescriptor::Builder::initBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void OutputDescriptor::Builder::adoptBasic(
+    ::capnp::Orphan< ::piper::Basic>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Basic> OutputDescriptor::Builder::disownBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool OutputDescriptor::Reader::hasConfigured() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool OutputDescriptor::Builder::hasConfigured() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ConfiguredOutputDescriptor::Reader OutputDescriptor::Reader::getConfigured() const {
+  return ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ConfiguredOutputDescriptor::Builder OutputDescriptor::Builder::getConfigured() {
+  return ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::ConfiguredOutputDescriptor::Pipeline OutputDescriptor::Pipeline::getConfigured() {
+  return  ::piper::ConfiguredOutputDescriptor::Pipeline(_typeless.getPointerField(1));
+}
+#endif  // !CAPNP_LITE
+inline void OutputDescriptor::Builder::setConfigured( ::piper::ConfiguredOutputDescriptor::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ConfiguredOutputDescriptor::Builder OutputDescriptor::Builder::initConfigured() {
+  return ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void OutputDescriptor::Builder::adoptConfigured(
+    ::capnp::Orphan< ::piper::ConfiguredOutputDescriptor>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ConfiguredOutputDescriptor> OutputDescriptor::Builder::disownConfigured() {
+  return ::capnp::_::PointerHelpers< ::piper::ConfiguredOutputDescriptor>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool ExtractorStaticData::Reader::hasKey() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasKey() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader ExtractorStaticData::Reader::getKey() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::getKey() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setKey( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::initKey(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptKey(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> ExtractorStaticData::Builder::disownKey() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool ExtractorStaticData::Reader::hasBasic() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasBasic() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Basic::Reader ExtractorStaticData::Reader::getBasic() const {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::Basic::Builder ExtractorStaticData::Builder::getBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::Basic::Pipeline ExtractorStaticData::Pipeline::getBasic() {
+  return  ::piper::Basic::Pipeline(_typeless.getPointerField(1));
+}
+#endif  // !CAPNP_LITE
+inline void ExtractorStaticData::Builder::setBasic( ::piper::Basic::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Basic::Builder ExtractorStaticData::Builder::initBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::adoptBasic(
+    ::capnp::Orphan< ::piper::Basic>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::Basic>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Basic> ExtractorStaticData::Builder::disownBasic() {
+  return ::capnp::_::PointerHelpers< ::piper::Basic>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool ExtractorStaticData::Reader::hasMaker() const {
+  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasMaker() {
+  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader ExtractorStaticData::Reader::getMaker() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(2 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::getMaker() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setMaker( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(2 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::initMaker(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(2 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptMaker(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> ExtractorStaticData::Builder::disownMaker() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+
+inline bool ExtractorStaticData::Reader::hasCopyright() const {
+  return !_reader.getPointerField(3 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasCopyright() {
+  return !_builder.getPointerField(3 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader ExtractorStaticData::Reader::getCopyright() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(3 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::getCopyright() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(3 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setCopyright( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(3 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder ExtractorStaticData::Builder::initCopyright(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(3 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptCopyright(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(3 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> ExtractorStaticData::Builder::disownCopyright() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(3 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ExtractorStaticData::Reader::getVersion() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ExtractorStaticData::Builder::getVersion() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ExtractorStaticData::Builder::setVersion( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ExtractorStaticData::Reader::hasCategory() const {
+  return !_reader.getPointerField(4 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasCategory() {
+  return !_builder.getPointerField(4 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::capnp::Text>::Reader ExtractorStaticData::Reader::getCategory() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _reader.getPointerField(4 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ExtractorStaticData::Builder::getCategory() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _builder.getPointerField(4 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setCategory( ::capnp::List< ::capnp::Text>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(4 * ::capnp::POINTERS), value);
+}
+inline void ExtractorStaticData::Builder::setCategory(::kj::ArrayPtr<const  ::capnp::Text::Reader> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(4 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ExtractorStaticData::Builder::initCategory(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::init(
+      _builder.getPointerField(4 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptCategory(
+    ::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::adopt(
+      _builder.getPointerField(4 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> ExtractorStaticData::Builder::disownCategory() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::disown(
+      _builder.getPointerField(4 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ExtractorStaticData::Reader::getMinChannelCount() const {
+  return _reader.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ExtractorStaticData::Builder::getMinChannelCount() {
+  return _builder.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void ExtractorStaticData::Builder::setMinChannelCount( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t ExtractorStaticData::Reader::getMaxChannelCount() const {
+  return _reader.getDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ExtractorStaticData::Builder::getMaxChannelCount() {
+  return _builder.getDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS);
+}
+inline void ExtractorStaticData::Builder::setMaxChannelCount( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ExtractorStaticData::Reader::hasParameters() const {
+  return !_reader.getPointerField(5 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasParameters() {
+  return !_builder.getPointerField(5 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::ParameterDescriptor>::Reader ExtractorStaticData::Reader::getParameters() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::get(
+      _reader.getPointerField(5 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::ParameterDescriptor>::Builder ExtractorStaticData::Builder::getParameters() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::get(
+      _builder.getPointerField(5 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setParameters( ::capnp::List< ::piper::ParameterDescriptor>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::set(
+      _builder.getPointerField(5 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::ParameterDescriptor>::Builder ExtractorStaticData::Builder::initParameters(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::init(
+      _builder.getPointerField(5 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptParameters(
+    ::capnp::Orphan< ::capnp::List< ::piper::ParameterDescriptor>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::adopt(
+      _builder.getPointerField(5 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::ParameterDescriptor>> ExtractorStaticData::Builder::disownParameters() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ParameterDescriptor>>::disown(
+      _builder.getPointerField(5 * ::capnp::POINTERS));
+}
+
+inline bool ExtractorStaticData::Reader::hasPrograms() const {
+  return !_reader.getPointerField(6 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasPrograms() {
+  return !_builder.getPointerField(6 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::capnp::Text>::Reader ExtractorStaticData::Reader::getPrograms() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _reader.getPointerField(6 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ExtractorStaticData::Builder::getPrograms() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::get(
+      _builder.getPointerField(6 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setPrograms( ::capnp::List< ::capnp::Text>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(6 * ::capnp::POINTERS), value);
+}
+inline void ExtractorStaticData::Builder::setPrograms(::kj::ArrayPtr<const  ::capnp::Text::Reader> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::set(
+      _builder.getPointerField(6 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::capnp::Text>::Builder ExtractorStaticData::Builder::initPrograms(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::init(
+      _builder.getPointerField(6 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptPrograms(
+    ::capnp::Orphan< ::capnp::List< ::capnp::Text>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::adopt(
+      _builder.getPointerField(6 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::capnp::Text>> ExtractorStaticData::Builder::disownPrograms() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::Text>>::disown(
+      _builder.getPointerField(6 * ::capnp::POINTERS));
+}
+
+inline  ::piper::InputDomain ExtractorStaticData::Reader::getInputDomain() const {
+  return _reader.getDataField< ::piper::InputDomain>(
+      6 * ::capnp::ELEMENTS);
+}
+
+inline  ::piper::InputDomain ExtractorStaticData::Builder::getInputDomain() {
+  return _builder.getDataField< ::piper::InputDomain>(
+      6 * ::capnp::ELEMENTS);
+}
+inline void ExtractorStaticData::Builder::setInputDomain( ::piper::InputDomain value) {
+  _builder.setDataField< ::piper::InputDomain>(
+      6 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ExtractorStaticData::Reader::hasBasicOutputInfo() const {
+  return !_reader.getPointerField(7 * ::capnp::POINTERS).isNull();
+}
+inline bool ExtractorStaticData::Builder::hasBasicOutputInfo() {
+  return !_builder.getPointerField(7 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::Basic>::Reader ExtractorStaticData::Reader::getBasicOutputInfo() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::get(
+      _reader.getPointerField(7 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::Basic>::Builder ExtractorStaticData::Builder::getBasicOutputInfo() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::get(
+      _builder.getPointerField(7 * ::capnp::POINTERS));
+}
+inline void ExtractorStaticData::Builder::setBasicOutputInfo( ::capnp::List< ::piper::Basic>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::set(
+      _builder.getPointerField(7 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::Basic>::Builder ExtractorStaticData::Builder::initBasicOutputInfo(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::init(
+      _builder.getPointerField(7 * ::capnp::POINTERS), size);
+}
+inline void ExtractorStaticData::Builder::adoptBasicOutputInfo(
+    ::capnp::Orphan< ::capnp::List< ::piper::Basic>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::adopt(
+      _builder.getPointerField(7 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::Basic>> ExtractorStaticData::Builder::disownBasicOutputInfo() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Basic>>::disown(
+      _builder.getPointerField(7 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t RealTime::Reader::getSec() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t RealTime::Builder::getSec() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void RealTime::Builder::setSec( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t RealTime::Reader::getNsec() const {
+  return _reader.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t RealTime::Builder::getNsec() {
+  return _builder.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void RealTime::Builder::setNsec( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ProcessInput::Reader::hasInputBuffers() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ProcessInput::Builder::hasInputBuffers() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::capnp::List<float>>::Reader ProcessInput::Reader::getInputBuffers() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::capnp::List<float>>::Builder ProcessInput::Builder::getInputBuffers() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ProcessInput::Builder::setInputBuffers( ::capnp::List< ::capnp::List<float>>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline void ProcessInput::Builder::setInputBuffers(::kj::ArrayPtr<const  ::capnp::List<float>::Reader> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::capnp::List<float>>::Builder ProcessInput::Builder::initInputBuffers(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void ProcessInput::Builder::adoptInputBuffers(
+    ::capnp::Orphan< ::capnp::List< ::capnp::List<float>>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::capnp::List<float>>> ProcessInput::Builder::disownInputBuffers() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::List<float>>>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool ProcessInput::Reader::hasTimestamp() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool ProcessInput::Builder::hasTimestamp() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::RealTime::Reader ProcessInput::Reader::getTimestamp() const {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::RealTime::Builder ProcessInput::Builder::getTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::RealTime::Pipeline ProcessInput::Pipeline::getTimestamp() {
+  return  ::piper::RealTime::Pipeline(_typeless.getPointerField(1));
+}
+#endif  // !CAPNP_LITE
+inline void ProcessInput::Builder::setTimestamp( ::piper::RealTime::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::RealTime::Builder ProcessInput::Builder::initTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void ProcessInput::Builder::adoptTimestamp(
+    ::capnp::Orphan< ::piper::RealTime>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::RealTime> ProcessInput::Builder::disownTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool Feature::Reader::getHasTimestamp() const {
+  return _reader.getDataField<bool>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline bool Feature::Builder::getHasTimestamp() {
+  return _builder.getDataField<bool>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void Feature::Builder::setHasTimestamp(bool value) {
+  _builder.setDataField<bool>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool Feature::Reader::hasTimestamp() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool Feature::Builder::hasTimestamp() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::RealTime::Reader Feature::Reader::getTimestamp() const {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::RealTime::Builder Feature::Builder::getTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::RealTime::Pipeline Feature::Pipeline::getTimestamp() {
+  return  ::piper::RealTime::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void Feature::Builder::setTimestamp( ::piper::RealTime::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::RealTime::Builder Feature::Builder::initTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void Feature::Builder::adoptTimestamp(
+    ::capnp::Orphan< ::piper::RealTime>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::RealTime> Feature::Builder::disownTimestamp() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool Feature::Reader::getHasDuration() const {
+  return _reader.getDataField<bool>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline bool Feature::Builder::getHasDuration() {
+  return _builder.getDataField<bool>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void Feature::Builder::setHasDuration(bool value) {
+  _builder.setDataField<bool>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline bool Feature::Reader::hasDuration() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool Feature::Builder::hasDuration() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::RealTime::Reader Feature::Reader::getDuration() const {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::RealTime::Builder Feature::Builder::getDuration() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::RealTime::Pipeline Feature::Pipeline::getDuration() {
+  return  ::piper::RealTime::Pipeline(_typeless.getPointerField(1));
+}
+#endif  // !CAPNP_LITE
+inline void Feature::Builder::setDuration( ::piper::RealTime::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::RealTime::Builder Feature::Builder::initDuration() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void Feature::Builder::adoptDuration(
+    ::capnp::Orphan< ::piper::RealTime>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::RealTime>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::RealTime> Feature::Builder::disownDuration() {
+  return ::capnp::_::PointerHelpers< ::piper::RealTime>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool Feature::Reader::hasLabel() const {
+  return !_reader.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline bool Feature::Builder::hasLabel() {
+  return !_builder.getPointerField(2 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Feature::Reader::getLabel() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(2 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Feature::Builder::getLabel() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+inline void Feature::Builder::setLabel( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(2 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Feature::Builder::initLabel(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(2 * ::capnp::POINTERS), size);
+}
+inline void Feature::Builder::adoptLabel(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(2 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Feature::Builder::disownLabel() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(2 * ::capnp::POINTERS));
+}
+
+inline bool Feature::Reader::hasFeatureValues() const {
+  return !_reader.getPointerField(3 * ::capnp::POINTERS).isNull();
+}
+inline bool Feature::Builder::hasFeatureValues() {
+  return !_builder.getPointerField(3 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List<float>::Reader Feature::Reader::getFeatureValues() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
+      _reader.getPointerField(3 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_d6a172208c9a1760 + 115);
+}
+inline  ::capnp::List<float>::Builder Feature::Builder::getFeatureValues() {
+  return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
+      _builder.getPointerField(3 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_d6a172208c9a1760 + 115);
+}
+inline void Feature::Builder::setFeatureValues( ::capnp::List<float>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
+      _builder.getPointerField(3 * ::capnp::POINTERS), value);
+}
+inline void Feature::Builder::setFeatureValues(::kj::ArrayPtr<const float> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
+      _builder.getPointerField(3 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List<float>::Builder Feature::Builder::initFeatureValues(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List<float>>::init(
+      _builder.getPointerField(3 * ::capnp::POINTERS), size);
+}
+inline void Feature::Builder::adoptFeatureValues(
+    ::capnp::Orphan< ::capnp::List<float>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List<float>>::adopt(
+      _builder.getPointerField(3 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List<float>> Feature::Builder::disownFeatureValues() {
+  return ::capnp::_::PointerHelpers< ::capnp::List<float>>::disown(
+      _builder.getPointerField(3 * ::capnp::POINTERS));
+}
+
+inline bool FeatureSet::Reader::hasFeaturePairs() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool FeatureSet::Builder::hasFeaturePairs() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Reader FeatureSet::Reader::getFeaturePairs() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Builder FeatureSet::Builder::getFeaturePairs() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void FeatureSet::Builder::setFeaturePairs( ::capnp::List< ::piper::FeatureSet::FSPair>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::FeatureSet::FSPair>::Builder FeatureSet::Builder::initFeaturePairs(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void FeatureSet::Builder::adoptFeaturePairs(
+    ::capnp::Orphan< ::capnp::List< ::piper::FeatureSet::FSPair>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::FeatureSet::FSPair>> FeatureSet::Builder::disownFeaturePairs() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::FeatureSet::FSPair>>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool FeatureSet::FSPair::Reader::hasOutput() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool FeatureSet::FSPair::Builder::hasOutput() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader FeatureSet::FSPair::Reader::getOutput() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder FeatureSet::FSPair::Builder::getOutput() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void FeatureSet::FSPair::Builder::setOutput( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder FeatureSet::FSPair::Builder::initOutput(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void FeatureSet::FSPair::Builder::adoptOutput(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> FeatureSet::FSPair::Builder::disownOutput() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool FeatureSet::FSPair::Reader::hasFeatures() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool FeatureSet::FSPair::Builder::hasFeatures() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::Feature>::Reader FeatureSet::FSPair::Reader::getFeatures() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_ab2572c346316b24 + 52);
+}
+inline  ::capnp::List< ::piper::Feature>::Builder FeatureSet::FSPair::Builder::getFeatures() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS),
+        ::capnp::schemas::bp_ab2572c346316b24 + 52);
+}
+inline void FeatureSet::FSPair::Builder::setFeatures( ::capnp::List< ::piper::Feature>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::Feature>::Builder FeatureSet::FSPair::Builder::initFeatures(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void FeatureSet::FSPair::Builder::adoptFeatures(
+    ::capnp::Orphan< ::capnp::List< ::piper::Feature>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::Feature>> FeatureSet::FSPair::Builder::disownFeatures() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Feature>>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool Configuration::Reader::hasParameterValues() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool Configuration::Builder::hasParameterValues() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::Configuration::PVPair>::Reader Configuration::Reader::getParameterValues() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::Configuration::PVPair>::Builder Configuration::Builder::getParameterValues() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void Configuration::Builder::setParameterValues( ::capnp::List< ::piper::Configuration::PVPair>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::Configuration::PVPair>::Builder Configuration::Builder::initParameterValues(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void Configuration::Builder::adoptParameterValues(
+    ::capnp::Orphan< ::capnp::List< ::piper::Configuration::PVPair>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::Configuration::PVPair>> Configuration::Builder::disownParameterValues() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::Configuration::PVPair>>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool Configuration::Reader::hasCurrentProgram() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool Configuration::Builder::hasCurrentProgram() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Configuration::Reader::getCurrentProgram() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Configuration::Builder::getCurrentProgram() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void Configuration::Builder::setCurrentProgram( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Configuration::Builder::initCurrentProgram(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void Configuration::Builder::adoptCurrentProgram(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Configuration::Builder::disownCurrentProgram() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t Configuration::Reader::getChannelCount() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t Configuration::Builder::getChannelCount() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void Configuration::Builder::setChannelCount( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t Configuration::Reader::getStepSize() const {
+  return _reader.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t Configuration::Builder::getStepSize() {
+  return _builder.getDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS);
+}
+inline void Configuration::Builder::setStepSize( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      1 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t Configuration::Reader::getBlockSize() const {
+  return _reader.getDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t Configuration::Builder::getBlockSize() {
+  return _builder.getDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS);
+}
+inline void Configuration::Builder::setBlockSize( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      2 * ::capnp::ELEMENTS, value);
+}
+
+inline bool Configuration::PVPair::Reader::hasParameter() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool Configuration::PVPair::Builder::hasParameter() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Configuration::PVPair::Reader::getParameter() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Configuration::PVPair::Builder::getParameter() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void Configuration::PVPair::Builder::setParameter( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Configuration::PVPair::Builder::initParameter(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void Configuration::PVPair::Builder::adoptParameter(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Configuration::PVPair::Builder::disownParameter() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline float Configuration::PVPair::Reader::getValue() const {
+  return _reader.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline float Configuration::PVPair::Builder::getValue() {
+  return _builder.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void Configuration::PVPair::Builder::setValue(float value) {
+  _builder.setDataField<float>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ListResponse::Reader::hasAvailable() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ListResponse::Builder::hasAvailable() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::ExtractorStaticData>::Reader ListResponse::Reader::getAvailable() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::ExtractorStaticData>::Builder ListResponse::Builder::getAvailable() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ListResponse::Builder::setAvailable( ::capnp::List< ::piper::ExtractorStaticData>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::ExtractorStaticData>::Builder ListResponse::Builder::initAvailable(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void ListResponse::Builder::adoptAvailable(
+    ::capnp::Orphan< ::capnp::List< ::piper::ExtractorStaticData>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::ExtractorStaticData>> ListResponse::Builder::disownAvailable() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::ExtractorStaticData>>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool LoadRequest::Reader::hasKey() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool LoadRequest::Builder::hasKey() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader LoadRequest::Reader::getKey() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder LoadRequest::Builder::getKey() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void LoadRequest::Builder::setKey( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder LoadRequest::Builder::initKey(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void LoadRequest::Builder::adoptKey(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> LoadRequest::Builder::disownKey() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline float LoadRequest::Reader::getInputSampleRate() const {
+  return _reader.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline float LoadRequest::Builder::getInputSampleRate() {
+  return _builder.getDataField<float>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void LoadRequest::Builder::setInputSampleRate(float value) {
+  _builder.setDataField<float>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool LoadRequest::Reader::hasAdapterFlags() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool LoadRequest::Builder::hasAdapterFlags() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::AdapterFlag>::Reader LoadRequest::Reader::getAdapterFlags() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::AdapterFlag>::Builder LoadRequest::Builder::getAdapterFlags() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void LoadRequest::Builder::setAdapterFlags( ::capnp::List< ::piper::AdapterFlag>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline void LoadRequest::Builder::setAdapterFlags(::kj::ArrayPtr<const  ::piper::AdapterFlag> value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::AdapterFlag>::Builder LoadRequest::Builder::initAdapterFlags(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS), size);
+}
+inline void LoadRequest::Builder::adoptAdapterFlags(
+    ::capnp::Orphan< ::capnp::List< ::piper::AdapterFlag>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::AdapterFlag>> LoadRequest::Builder::disownAdapterFlags() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::AdapterFlag>>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t LoadResponse::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t LoadResponse::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void LoadResponse::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool LoadResponse::Reader::hasStaticData() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool LoadResponse::Builder::hasStaticData() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ExtractorStaticData::Reader LoadResponse::Reader::getStaticData() const {
+  return ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::ExtractorStaticData::Builder LoadResponse::Builder::getStaticData() {
+  return ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::ExtractorStaticData::Pipeline LoadResponse::Pipeline::getStaticData() {
+  return  ::piper::ExtractorStaticData::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void LoadResponse::Builder::setStaticData( ::piper::ExtractorStaticData::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ExtractorStaticData::Builder LoadResponse::Builder::initStaticData() {
+  return ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void LoadResponse::Builder::adoptStaticData(
+    ::capnp::Orphan< ::piper::ExtractorStaticData>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ExtractorStaticData> LoadResponse::Builder::disownStaticData() {
+  return ::capnp::_::PointerHelpers< ::piper::ExtractorStaticData>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool LoadResponse::Reader::hasDefaultConfiguration() const {
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool LoadResponse::Builder::hasDefaultConfiguration() {
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Configuration::Reader LoadResponse::Reader::getDefaultConfiguration() const {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::Configuration::Builder LoadResponse::Builder::getDefaultConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::Configuration::Pipeline LoadResponse::Pipeline::getDefaultConfiguration() {
+  return  ::piper::Configuration::Pipeline(_typeless.getPointerField(1));
+}
+#endif  // !CAPNP_LITE
+inline void LoadResponse::Builder::setDefaultConfiguration( ::piper::Configuration::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::Configuration>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Configuration::Builder LoadResponse::Builder::initDefaultConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void LoadResponse::Builder::adoptDefaultConfiguration(
+    ::capnp::Orphan< ::piper::Configuration>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::Configuration>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Configuration> LoadResponse::Builder::disownDefaultConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ConfigurationRequest::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ConfigurationRequest::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ConfigurationRequest::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ConfigurationRequest::Reader::hasConfiguration() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ConfigurationRequest::Builder::hasConfiguration() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Configuration::Reader ConfigurationRequest::Reader::getConfiguration() const {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::Configuration::Builder ConfigurationRequest::Builder::getConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::Configuration::Pipeline ConfigurationRequest::Pipeline::getConfiguration() {
+  return  ::piper::Configuration::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void ConfigurationRequest::Builder::setConfiguration( ::piper::Configuration::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::Configuration>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Configuration::Builder ConfigurationRequest::Builder::initConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ConfigurationRequest::Builder::adoptConfiguration(
+    ::capnp::Orphan< ::piper::Configuration>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::Configuration>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Configuration> ConfigurationRequest::Builder::disownConfiguration() {
+  return ::capnp::_::PointerHelpers< ::piper::Configuration>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ConfigurationResponse::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ConfigurationResponse::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ConfigurationResponse::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ConfigurationResponse::Reader::hasOutputs() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ConfigurationResponse::Builder::hasOutputs() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::List< ::piper::OutputDescriptor>::Reader ConfigurationResponse::Reader::getOutputs() const {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::List< ::piper::OutputDescriptor>::Builder ConfigurationResponse::Builder::getOutputs() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ConfigurationResponse::Builder::setOutputs( ::capnp::List< ::piper::OutputDescriptor>::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::List< ::piper::OutputDescriptor>::Builder ConfigurationResponse::Builder::initOutputs(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void ConfigurationResponse::Builder::adoptOutputs(
+    ::capnp::Orphan< ::capnp::List< ::piper::OutputDescriptor>>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::List< ::piper::OutputDescriptor>> ConfigurationResponse::Builder::disownOutputs() {
+  return ::capnp::_::PointerHelpers< ::capnp::List< ::piper::OutputDescriptor>>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ProcessRequest::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ProcessRequest::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ProcessRequest::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ProcessRequest::Reader::hasProcessInput() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ProcessRequest::Builder::hasProcessInput() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ProcessInput::Reader ProcessRequest::Reader::getProcessInput() const {
+  return ::capnp::_::PointerHelpers< ::piper::ProcessInput>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::ProcessInput::Builder ProcessRequest::Builder::getProcessInput() {
+  return ::capnp::_::PointerHelpers< ::piper::ProcessInput>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::ProcessInput::Pipeline ProcessRequest::Pipeline::getProcessInput() {
+  return  ::piper::ProcessInput::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void ProcessRequest::Builder::setProcessInput( ::piper::ProcessInput::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::ProcessInput>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ProcessInput::Builder ProcessRequest::Builder::initProcessInput() {
+  return ::capnp::_::PointerHelpers< ::piper::ProcessInput>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ProcessRequest::Builder::adoptProcessInput(
+    ::capnp::Orphan< ::piper::ProcessInput>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::ProcessInput>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ProcessInput> ProcessRequest::Builder::disownProcessInput() {
+  return ::capnp::_::PointerHelpers< ::piper::ProcessInput>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t ProcessResponse::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t ProcessResponse::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void ProcessResponse::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool ProcessResponse::Reader::hasFeatures() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool ProcessResponse::Builder::hasFeatures() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::FeatureSet::Reader ProcessResponse::Reader::getFeatures() const {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::FeatureSet::Builder ProcessResponse::Builder::getFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::FeatureSet::Pipeline ProcessResponse::Pipeline::getFeatures() {
+  return  ::piper::FeatureSet::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void ProcessResponse::Builder::setFeatures( ::piper::FeatureSet::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::FeatureSet>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::FeatureSet::Builder ProcessResponse::Builder::initFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void ProcessResponse::Builder::adoptFeatures(
+    ::capnp::Orphan< ::piper::FeatureSet>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::FeatureSet>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::FeatureSet> ProcessResponse::Builder::disownFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t FinishRequest::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t FinishRequest::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void FinishRequest::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::int32_t FinishResponse::Reader::getHandle() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t FinishResponse::Builder::getHandle() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void FinishResponse::Builder::setHandle( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool FinishResponse::Reader::hasFeatures() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool FinishResponse::Builder::hasFeatures() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::FeatureSet::Reader FinishResponse::Reader::getFeatures() const {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::piper::FeatureSet::Builder FinishResponse::Builder::getFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+#if !CAPNP_LITE
+inline  ::piper::FeatureSet::Pipeline FinishResponse::Pipeline::getFeatures() {
+  return  ::piper::FeatureSet::Pipeline(_typeless.getPointerField(0));
+}
+#endif  // !CAPNP_LITE
+inline void FinishResponse::Builder::setFeatures( ::piper::FeatureSet::Reader value) {
+  ::capnp::_::PointerHelpers< ::piper::FeatureSet>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::piper::FeatureSet::Builder FinishResponse::Builder::initFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void FinishResponse::Builder::adoptFeatures(
+    ::capnp::Orphan< ::piper::FeatureSet>&& value) {
+  ::capnp::_::PointerHelpers< ::piper::FeatureSet>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::FeatureSet> FinishResponse::Builder::disownFeatures() {
+  return ::capnp::_::PointerHelpers< ::piper::FeatureSet>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline  ::int32_t Error::Reader::getCode() const {
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t Error::Builder::getCode() {
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void Error::Builder::setCode( ::int32_t value) {
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool Error::Reader::hasMessage() const {
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool Error::Builder::hasMessage() {
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader Error::Reader::getMessage() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder Error::Builder::getMessage() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void Error::Builder::setMessage( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder Error::Builder::initMessage(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void Error::Builder::adoptMessage(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> Error::Builder::disownMessage() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline RpcRequest::Id::Reader RpcRequest::Reader::getId() const {
+  return RpcRequest::Id::Reader(_reader);
+}
+inline RpcRequest::Id::Builder RpcRequest::Builder::getId() {
+  return RpcRequest::Id::Builder(_builder);
+}
+#if !CAPNP_LITE
+inline RpcRequest::Id::Pipeline RpcRequest::Pipeline::getId() {
+  return RpcRequest::Id::Pipeline(_typeless.noop());
+}
+#endif  // !CAPNP_LITE
+inline RpcRequest::Id::Builder RpcRequest::Builder::initId() {
+  _builder.setDataField< ::uint32_t>(0 * ::capnp::ELEMENTS, 0);
+  _builder.setDataField< ::uint16_t>(2 * ::capnp::ELEMENTS, 0);
+  _builder.getPointerField(0 * ::capnp::POINTERS).clear();
+  return RpcRequest::Id::Builder(_builder);
+}
+inline RpcRequest::Request::Reader RpcRequest::Reader::getRequest() const {
+  return RpcRequest::Request::Reader(_reader);
+}
+inline RpcRequest::Request::Builder RpcRequest::Builder::getRequest() {
+  return RpcRequest::Request::Builder(_builder);
+}
+#if !CAPNP_LITE
+inline RpcRequest::Request::Pipeline RpcRequest::Pipeline::getRequest() {
+  return RpcRequest::Request::Pipeline(_typeless.noop());
+}
+#endif  // !CAPNP_LITE
+inline RpcRequest::Request::Builder RpcRequest::Builder::initRequest() {
+  _builder.setDataField< ::uint16_t>(3 * ::capnp::ELEMENTS, 0);
+  _builder.getPointerField(1 * ::capnp::POINTERS).clear();
+  return RpcRequest::Request::Builder(_builder);
+}
+inline  ::piper::RpcRequest::Id::Which RpcRequest::Id::Reader::which() const {
+  return _reader.getDataField<Which>(2 * ::capnp::ELEMENTS);
+}
+inline  ::piper::RpcRequest::Id::Which RpcRequest::Id::Builder::which() {
+  return _builder.getDataField<Which>(2 * ::capnp::ELEMENTS);
+}
+
+inline bool RpcRequest::Id::Reader::isNumber() const {
+  return which() == RpcRequest::Id::NUMBER;
+}
+inline bool RpcRequest::Id::Builder::isNumber() {
+  return which() == RpcRequest::Id::NUMBER;
+}
+inline  ::int32_t RpcRequest::Id::Reader::getNumber() const {
+  KJ_IREQUIRE((which() == RpcRequest::Id::NUMBER),
+              "Must check which() before get()ing a union member.");
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t RpcRequest::Id::Builder::getNumber() {
+  KJ_IREQUIRE((which() == RpcRequest::Id::NUMBER),
+              "Must check which() before get()ing a union member.");
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void RpcRequest::Id::Builder::setNumber( ::int32_t value) {
+  _builder.setDataField<RpcRequest::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcRequest::Id::NUMBER);
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool RpcRequest::Id::Reader::isTag() const {
+  return which() == RpcRequest::Id::TAG;
+}
+inline bool RpcRequest::Id::Builder::isTag() {
+  return which() == RpcRequest::Id::TAG;
+}
+inline bool RpcRequest::Id::Reader::hasTag() const {
+  if (which() != RpcRequest::Id::TAG) return false;
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Id::Builder::hasTag() {
+  if (which() != RpcRequest::Id::TAG) return false;
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader RpcRequest::Id::Reader::getTag() const {
+  KJ_IREQUIRE((which() == RpcRequest::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder RpcRequest::Id::Builder::getTag() {
+  KJ_IREQUIRE((which() == RpcRequest::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Id::Builder::setTag( ::capnp::Text::Reader value) {
+  _builder.setDataField<RpcRequest::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcRequest::Id::TAG);
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder RpcRequest::Id::Builder::initTag(unsigned int size) {
+  _builder.setDataField<RpcRequest::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcRequest::Id::TAG);
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void RpcRequest::Id::Builder::adoptTag(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  _builder.setDataField<RpcRequest::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcRequest::Id::TAG);
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> RpcRequest::Id::Builder::disownTag() {
+  KJ_IREQUIRE((which() == RpcRequest::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool RpcRequest::Id::Reader::isNone() const {
+  return which() == RpcRequest::Id::NONE;
+}
+inline bool RpcRequest::Id::Builder::isNone() {
+  return which() == RpcRequest::Id::NONE;
+}
+inline  ::capnp::Void RpcRequest::Id::Reader::getNone() const {
+  KJ_IREQUIRE((which() == RpcRequest::Id::NONE),
+              "Must check which() before get()ing a union member.");
+  return _reader.getDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::capnp::Void RpcRequest::Id::Builder::getNone() {
+  KJ_IREQUIRE((which() == RpcRequest::Id::NONE),
+              "Must check which() before get()ing a union member.");
+  return _builder.getDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void RpcRequest::Id::Builder::setNone( ::capnp::Void value) {
+  _builder.setDataField<RpcRequest::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcRequest::Id::NONE);
+  _builder.setDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::piper::RpcRequest::Request::Which RpcRequest::Request::Reader::which() const {
+  return _reader.getDataField<Which>(3 * ::capnp::ELEMENTS);
+}
+inline  ::piper::RpcRequest::Request::Which RpcRequest::Request::Builder::which() {
+  return _builder.getDataField<Which>(3 * ::capnp::ELEMENTS);
+}
+
+inline bool RpcRequest::Request::Reader::isList() const {
+  return which() == RpcRequest::Request::LIST;
+}
+inline bool RpcRequest::Request::Builder::isList() {
+  return which() == RpcRequest::Request::LIST;
+}
+inline bool RpcRequest::Request::Reader::hasList() const {
+  if (which() != RpcRequest::Request::LIST) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Request::Builder::hasList() {
+  if (which() != RpcRequest::Request::LIST) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ListRequest::Reader RpcRequest::Request::Reader::getList() const {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListRequest>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ListRequest::Builder RpcRequest::Request::Builder::getList() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListRequest>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::setList( ::piper::ListRequest::Reader value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LIST);
+  ::capnp::_::PointerHelpers< ::piper::ListRequest>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ListRequest::Builder RpcRequest::Request::Builder::initList() {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LIST);
+  return ::capnp::_::PointerHelpers< ::piper::ListRequest>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::adoptList(
+    ::capnp::Orphan< ::piper::ListRequest>&& value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LIST);
+  ::capnp::_::PointerHelpers< ::piper::ListRequest>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ListRequest> RpcRequest::Request::Builder::disownList() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListRequest>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcRequest::Request::Reader::isLoad() const {
+  return which() == RpcRequest::Request::LOAD;
+}
+inline bool RpcRequest::Request::Builder::isLoad() {
+  return which() == RpcRequest::Request::LOAD;
+}
+inline bool RpcRequest::Request::Reader::hasLoad() const {
+  if (which() != RpcRequest::Request::LOAD) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Request::Builder::hasLoad() {
+  if (which() != RpcRequest::Request::LOAD) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::LoadRequest::Reader RpcRequest::Request::Reader::getLoad() const {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadRequest>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::LoadRequest::Builder RpcRequest::Request::Builder::getLoad() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadRequest>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::setLoad( ::piper::LoadRequest::Reader value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LOAD);
+  ::capnp::_::PointerHelpers< ::piper::LoadRequest>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::LoadRequest::Builder RpcRequest::Request::Builder::initLoad() {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LOAD);
+  return ::capnp::_::PointerHelpers< ::piper::LoadRequest>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::adoptLoad(
+    ::capnp::Orphan< ::piper::LoadRequest>&& value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::LOAD);
+  ::capnp::_::PointerHelpers< ::piper::LoadRequest>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::LoadRequest> RpcRequest::Request::Builder::disownLoad() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadRequest>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcRequest::Request::Reader::isConfigure() const {
+  return which() == RpcRequest::Request::CONFIGURE;
+}
+inline bool RpcRequest::Request::Builder::isConfigure() {
+  return which() == RpcRequest::Request::CONFIGURE;
+}
+inline bool RpcRequest::Request::Reader::hasConfigure() const {
+  if (which() != RpcRequest::Request::CONFIGURE) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Request::Builder::hasConfigure() {
+  if (which() != RpcRequest::Request::CONFIGURE) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ConfigurationRequest::Reader RpcRequest::Request::Reader::getConfigure() const {
+  KJ_IREQUIRE((which() == RpcRequest::Request::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ConfigurationRequest::Builder RpcRequest::Request::Builder::getConfigure() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::setConfigure( ::piper::ConfigurationRequest::Reader value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::CONFIGURE);
+  ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ConfigurationRequest::Builder RpcRequest::Request::Builder::initConfigure() {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::CONFIGURE);
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::adoptConfigure(
+    ::capnp::Orphan< ::piper::ConfigurationRequest>&& value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::CONFIGURE);
+  ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ConfigurationRequest> RpcRequest::Request::Builder::disownConfigure() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationRequest>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcRequest::Request::Reader::isProcess() const {
+  return which() == RpcRequest::Request::PROCESS;
+}
+inline bool RpcRequest::Request::Builder::isProcess() {
+  return which() == RpcRequest::Request::PROCESS;
+}
+inline bool RpcRequest::Request::Reader::hasProcess() const {
+  if (which() != RpcRequest::Request::PROCESS) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Request::Builder::hasProcess() {
+  if (which() != RpcRequest::Request::PROCESS) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ProcessRequest::Reader RpcRequest::Request::Reader::getProcess() const {
+  KJ_IREQUIRE((which() == RpcRequest::Request::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ProcessRequest::Builder RpcRequest::Request::Builder::getProcess() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::setProcess( ::piper::ProcessRequest::Reader value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::PROCESS);
+  ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ProcessRequest::Builder RpcRequest::Request::Builder::initProcess() {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::PROCESS);
+  return ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::adoptProcess(
+    ::capnp::Orphan< ::piper::ProcessRequest>&& value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::PROCESS);
+  ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ProcessRequest> RpcRequest::Request::Builder::disownProcess() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessRequest>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcRequest::Request::Reader::isFinish() const {
+  return which() == RpcRequest::Request::FINISH;
+}
+inline bool RpcRequest::Request::Builder::isFinish() {
+  return which() == RpcRequest::Request::FINISH;
+}
+inline bool RpcRequest::Request::Reader::hasFinish() const {
+  if (which() != RpcRequest::Request::FINISH) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcRequest::Request::Builder::hasFinish() {
+  if (which() != RpcRequest::Request::FINISH) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::FinishRequest::Reader RpcRequest::Request::Reader::getFinish() const {
+  KJ_IREQUIRE((which() == RpcRequest::Request::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishRequest>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::FinishRequest::Builder RpcRequest::Request::Builder::getFinish() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishRequest>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::setFinish( ::piper::FinishRequest::Reader value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::FINISH);
+  ::capnp::_::PointerHelpers< ::piper::FinishRequest>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::FinishRequest::Builder RpcRequest::Request::Builder::initFinish() {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::FINISH);
+  return ::capnp::_::PointerHelpers< ::piper::FinishRequest>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcRequest::Request::Builder::adoptFinish(
+    ::capnp::Orphan< ::piper::FinishRequest>&& value) {
+  _builder.setDataField<RpcRequest::Request::Which>(
+      3 * ::capnp::ELEMENTS, RpcRequest::Request::FINISH);
+  ::capnp::_::PointerHelpers< ::piper::FinishRequest>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::FinishRequest> RpcRequest::Request::Builder::disownFinish() {
+  KJ_IREQUIRE((which() == RpcRequest::Request::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishRequest>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline RpcResponse::Id::Reader RpcResponse::Reader::getId() const {
+  return RpcResponse::Id::Reader(_reader);
+}
+inline RpcResponse::Id::Builder RpcResponse::Builder::getId() {
+  return RpcResponse::Id::Builder(_builder);
+}
+#if !CAPNP_LITE
+inline RpcResponse::Id::Pipeline RpcResponse::Pipeline::getId() {
+  return RpcResponse::Id::Pipeline(_typeless.noop());
+}
+#endif  // !CAPNP_LITE
+inline RpcResponse::Id::Builder RpcResponse::Builder::initId() {
+  _builder.setDataField< ::uint32_t>(0 * ::capnp::ELEMENTS, 0);
+  _builder.setDataField< ::uint16_t>(2 * ::capnp::ELEMENTS, 0);
+  _builder.getPointerField(0 * ::capnp::POINTERS).clear();
+  return RpcResponse::Id::Builder(_builder);
+}
+inline RpcResponse::Response::Reader RpcResponse::Reader::getResponse() const {
+  return RpcResponse::Response::Reader(_reader);
+}
+inline RpcResponse::Response::Builder RpcResponse::Builder::getResponse() {
+  return RpcResponse::Response::Builder(_builder);
+}
+#if !CAPNP_LITE
+inline RpcResponse::Response::Pipeline RpcResponse::Pipeline::getResponse() {
+  return RpcResponse::Response::Pipeline(_typeless.noop());
+}
+#endif  // !CAPNP_LITE
+inline RpcResponse::Response::Builder RpcResponse::Builder::initResponse() {
+  _builder.setDataField< ::uint16_t>(3 * ::capnp::ELEMENTS, 0);
+  _builder.getPointerField(1 * ::capnp::POINTERS).clear();
+  return RpcResponse::Response::Builder(_builder);
+}
+inline  ::piper::RpcResponse::Id::Which RpcResponse::Id::Reader::which() const {
+  return _reader.getDataField<Which>(2 * ::capnp::ELEMENTS);
+}
+inline  ::piper::RpcResponse::Id::Which RpcResponse::Id::Builder::which() {
+  return _builder.getDataField<Which>(2 * ::capnp::ELEMENTS);
+}
+
+inline bool RpcResponse::Id::Reader::isNumber() const {
+  return which() == RpcResponse::Id::NUMBER;
+}
+inline bool RpcResponse::Id::Builder::isNumber() {
+  return which() == RpcResponse::Id::NUMBER;
+}
+inline  ::int32_t RpcResponse::Id::Reader::getNumber() const {
+  KJ_IREQUIRE((which() == RpcResponse::Id::NUMBER),
+              "Must check which() before get()ing a union member.");
+  return _reader.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::int32_t RpcResponse::Id::Builder::getNumber() {
+  KJ_IREQUIRE((which() == RpcResponse::Id::NUMBER),
+              "Must check which() before get()ing a union member.");
+  return _builder.getDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void RpcResponse::Id::Builder::setNumber( ::int32_t value) {
+  _builder.setDataField<RpcResponse::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcResponse::Id::NUMBER);
+  _builder.setDataField< ::int32_t>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline bool RpcResponse::Id::Reader::isTag() const {
+  return which() == RpcResponse::Id::TAG;
+}
+inline bool RpcResponse::Id::Builder::isTag() {
+  return which() == RpcResponse::Id::TAG;
+}
+inline bool RpcResponse::Id::Reader::hasTag() const {
+  if (which() != RpcResponse::Id::TAG) return false;
+  return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Id::Builder::hasTag() {
+  if (which() != RpcResponse::Id::TAG) return false;
+  return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader RpcResponse::Id::Reader::getTag() const {
+  KJ_IREQUIRE((which() == RpcResponse::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _reader.getPointerField(0 * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder RpcResponse::Id::Builder::getTag() {
+  KJ_IREQUIRE((which() == RpcResponse::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Id::Builder::setTag( ::capnp::Text::Reader value) {
+  _builder.setDataField<RpcResponse::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcResponse::Id::TAG);
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(
+      _builder.getPointerField(0 * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder RpcResponse::Id::Builder::initTag(unsigned int size) {
+  _builder.setDataField<RpcResponse::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcResponse::Id::TAG);
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(
+      _builder.getPointerField(0 * ::capnp::POINTERS), size);
+}
+inline void RpcResponse::Id::Builder::adoptTag(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  _builder.setDataField<RpcResponse::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcResponse::Id::TAG);
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(
+      _builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> RpcResponse::Id::Builder::disownTag() {
+  KJ_IREQUIRE((which() == RpcResponse::Id::TAG),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(
+      _builder.getPointerField(0 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Id::Reader::isNone() const {
+  return which() == RpcResponse::Id::NONE;
+}
+inline bool RpcResponse::Id::Builder::isNone() {
+  return which() == RpcResponse::Id::NONE;
+}
+inline  ::capnp::Void RpcResponse::Id::Reader::getNone() const {
+  KJ_IREQUIRE((which() == RpcResponse::Id::NONE),
+              "Must check which() before get()ing a union member.");
+  return _reader.getDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS);
+}
+
+inline  ::capnp::Void RpcResponse::Id::Builder::getNone() {
+  KJ_IREQUIRE((which() == RpcResponse::Id::NONE),
+              "Must check which() before get()ing a union member.");
+  return _builder.getDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS);
+}
+inline void RpcResponse::Id::Builder::setNone( ::capnp::Void value) {
+  _builder.setDataField<RpcResponse::Id::Which>(
+      2 * ::capnp::ELEMENTS, RpcResponse::Id::NONE);
+  _builder.setDataField< ::capnp::Void>(
+      0 * ::capnp::ELEMENTS, value);
+}
+
+inline  ::piper::RpcResponse::Response::Which RpcResponse::Response::Reader::which() const {
+  return _reader.getDataField<Which>(3 * ::capnp::ELEMENTS);
+}
+inline  ::piper::RpcResponse::Response::Which RpcResponse::Response::Builder::which() {
+  return _builder.getDataField<Which>(3 * ::capnp::ELEMENTS);
+}
+
+inline bool RpcResponse::Response::Reader::isError() const {
+  return which() == RpcResponse::Response::ERROR;
+}
+inline bool RpcResponse::Response::Builder::isError() {
+  return which() == RpcResponse::Response::ERROR;
+}
+inline bool RpcResponse::Response::Reader::hasError() const {
+  if (which() != RpcResponse::Response::ERROR) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasError() {
+  if (which() != RpcResponse::Response::ERROR) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::Error::Reader RpcResponse::Response::Reader::getError() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::ERROR),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::Error>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::Error::Builder RpcResponse::Response::Builder::getError() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::ERROR),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::Error>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setError( ::piper::Error::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::ERROR);
+  ::capnp::_::PointerHelpers< ::piper::Error>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::Error::Builder RpcResponse::Response::Builder::initError() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::ERROR);
+  return ::capnp::_::PointerHelpers< ::piper::Error>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptError(
+    ::capnp::Orphan< ::piper::Error>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::ERROR);
+  ::capnp::_::PointerHelpers< ::piper::Error>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::Error> RpcResponse::Response::Builder::disownError() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::ERROR),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::Error>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Response::Reader::isList() const {
+  return which() == RpcResponse::Response::LIST;
+}
+inline bool RpcResponse::Response::Builder::isList() {
+  return which() == RpcResponse::Response::LIST;
+}
+inline bool RpcResponse::Response::Reader::hasList() const {
+  if (which() != RpcResponse::Response::LIST) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasList() {
+  if (which() != RpcResponse::Response::LIST) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ListResponse::Reader RpcResponse::Response::Reader::getList() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListResponse>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ListResponse::Builder RpcResponse::Response::Builder::getList() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListResponse>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setList( ::piper::ListResponse::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LIST);
+  ::capnp::_::PointerHelpers< ::piper::ListResponse>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ListResponse::Builder RpcResponse::Response::Builder::initList() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LIST);
+  return ::capnp::_::PointerHelpers< ::piper::ListResponse>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptList(
+    ::capnp::Orphan< ::piper::ListResponse>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LIST);
+  ::capnp::_::PointerHelpers< ::piper::ListResponse>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ListResponse> RpcResponse::Response::Builder::disownList() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LIST),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ListResponse>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Response::Reader::isLoad() const {
+  return which() == RpcResponse::Response::LOAD;
+}
+inline bool RpcResponse::Response::Builder::isLoad() {
+  return which() == RpcResponse::Response::LOAD;
+}
+inline bool RpcResponse::Response::Reader::hasLoad() const {
+  if (which() != RpcResponse::Response::LOAD) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasLoad() {
+  if (which() != RpcResponse::Response::LOAD) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::LoadResponse::Reader RpcResponse::Response::Reader::getLoad() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadResponse>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::LoadResponse::Builder RpcResponse::Response::Builder::getLoad() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadResponse>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setLoad( ::piper::LoadResponse::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LOAD);
+  ::capnp::_::PointerHelpers< ::piper::LoadResponse>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::LoadResponse::Builder RpcResponse::Response::Builder::initLoad() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LOAD);
+  return ::capnp::_::PointerHelpers< ::piper::LoadResponse>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptLoad(
+    ::capnp::Orphan< ::piper::LoadResponse>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::LOAD);
+  ::capnp::_::PointerHelpers< ::piper::LoadResponse>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::LoadResponse> RpcResponse::Response::Builder::disownLoad() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::LOAD),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::LoadResponse>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Response::Reader::isConfigure() const {
+  return which() == RpcResponse::Response::CONFIGURE;
+}
+inline bool RpcResponse::Response::Builder::isConfigure() {
+  return which() == RpcResponse::Response::CONFIGURE;
+}
+inline bool RpcResponse::Response::Reader::hasConfigure() const {
+  if (which() != RpcResponse::Response::CONFIGURE) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasConfigure() {
+  if (which() != RpcResponse::Response::CONFIGURE) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ConfigurationResponse::Reader RpcResponse::Response::Reader::getConfigure() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ConfigurationResponse::Builder RpcResponse::Response::Builder::getConfigure() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setConfigure( ::piper::ConfigurationResponse::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::CONFIGURE);
+  ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ConfigurationResponse::Builder RpcResponse::Response::Builder::initConfigure() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::CONFIGURE);
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptConfigure(
+    ::capnp::Orphan< ::piper::ConfigurationResponse>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::CONFIGURE);
+  ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ConfigurationResponse> RpcResponse::Response::Builder::disownConfigure() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::CONFIGURE),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ConfigurationResponse>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Response::Reader::isProcess() const {
+  return which() == RpcResponse::Response::PROCESS;
+}
+inline bool RpcResponse::Response::Builder::isProcess() {
+  return which() == RpcResponse::Response::PROCESS;
+}
+inline bool RpcResponse::Response::Reader::hasProcess() const {
+  if (which() != RpcResponse::Response::PROCESS) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasProcess() {
+  if (which() != RpcResponse::Response::PROCESS) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::ProcessResponse::Reader RpcResponse::Response::Reader::getProcess() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::ProcessResponse::Builder RpcResponse::Response::Builder::getProcess() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setProcess( ::piper::ProcessResponse::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::PROCESS);
+  ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::ProcessResponse::Builder RpcResponse::Response::Builder::initProcess() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::PROCESS);
+  return ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptProcess(
+    ::capnp::Orphan< ::piper::ProcessResponse>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::PROCESS);
+  ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::ProcessResponse> RpcResponse::Response::Builder::disownProcess() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::PROCESS),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::ProcessResponse>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+inline bool RpcResponse::Response::Reader::isFinish() const {
+  return which() == RpcResponse::Response::FINISH;
+}
+inline bool RpcResponse::Response::Builder::isFinish() {
+  return which() == RpcResponse::Response::FINISH;
+}
+inline bool RpcResponse::Response::Reader::hasFinish() const {
+  if (which() != RpcResponse::Response::FINISH) return false;
+  return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline bool RpcResponse::Response::Builder::hasFinish() {
+  if (which() != RpcResponse::Response::FINISH) return false;
+  return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
+}
+inline  ::piper::FinishResponse::Reader RpcResponse::Response::Reader::getFinish() const {
+  KJ_IREQUIRE((which() == RpcResponse::Response::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishResponse>::get(
+      _reader.getPointerField(1 * ::capnp::POINTERS));
+}
+inline  ::piper::FinishResponse::Builder RpcResponse::Response::Builder::getFinish() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishResponse>::get(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::setFinish( ::piper::FinishResponse::Reader value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::FINISH);
+  ::capnp::_::PointerHelpers< ::piper::FinishResponse>::set(
+      _builder.getPointerField(1 * ::capnp::POINTERS), value);
+}
+inline  ::piper::FinishResponse::Builder RpcResponse::Response::Builder::initFinish() {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::FINISH);
+  return ::capnp::_::PointerHelpers< ::piper::FinishResponse>::init(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+inline void RpcResponse::Response::Builder::adoptFinish(
+    ::capnp::Orphan< ::piper::FinishResponse>&& value) {
+  _builder.setDataField<RpcResponse::Response::Which>(
+      3 * ::capnp::ELEMENTS, RpcResponse::Response::FINISH);
+  ::capnp::_::PointerHelpers< ::piper::FinishResponse>::adopt(
+      _builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::piper::FinishResponse> RpcResponse::Response::Builder::disownFinish() {
+  KJ_IREQUIRE((which() == RpcResponse::Response::FINISH),
+              "Must check which() before get()ing a union member.");
+  return ::capnp::_::PointerHelpers< ::piper::FinishResponse>::disown(
+      _builder.getPointerField(1 * ::capnp::POINTERS));
+}
+
+}  // namespace
+
+#endif  // CAPNP_INCLUDED_c4b1c6c44c999206_