Minimal pycapnp

This commit is contained in:
Adeeb Shihadeh
2026-09-21 18:57:37 -07:00
parent a0cb5cdf06
commit 5befba15f3
125 changed files with 423 additions and 14793 deletions

View File

@@ -1,50 +0,0 @@
#include "PyCustomMessageBuilder.h"
#include <stdexcept>
namespace capnp {
PyCustomMessageBuilder::PyCustomMessageBuilder(
PyObject* allocateSegmentCallable, uint firstSegmentWords)
: allocateSegmentCallable(allocateSegmentCallable), firstSize(firstSegmentWords)
{
KJ_REQUIRE(PyCallable_Check(allocateSegmentCallable),
"allocateSegmentCallable must be callable");
Py_INCREF(allocateSegmentCallable);
}
PyCustomMessageBuilder::~PyCustomMessageBuilder() noexcept(false) {
PyGILState_STATE gstate = PyGILState_Ensure();
for (auto* obj : allocatedBuffers) {
Py_DECREF(obj);
}
allocatedBuffers.clear();
Py_DECREF(allocateSegmentCallable);
PyGILState_Release(gstate);
}
kj::ArrayPtr<capnp::word> PyCustomMessageBuilder::allocateSegment(capnp::uint minimumSize) {
PyGILState_STATE gstate = PyGILState_Ensure();
KJ_DEFER({ PyGILState_Release(gstate); });
if (curSize == 0) {
minimumSize = kj::max(minimumSize, firstSize);
}
PyObject* pyBufObj = PyObject_CallFunction(allocateSegmentCallable, "I", minimumSize);
KJ_REQUIRE(pyBufObj, "PyCustomMessageBuilder: allocateSegment failed");
allocatedBuffers.push_back(pyBufObj);
Py_buffer view;
int bufRes = PyObject_GetBuffer(pyBufObj, &view, PyBUF_SIMPLE);
KJ_REQUIRE(bufRes == 0, "PyCustomMessageBuilder: object does not support buffer protocol");
KJ_DEFER({ PyBuffer_Release(&view); });
size_t byteCount = view.len;
size_t wordCount = byteCount / sizeof(capnp::word);
KJ_REQUIRE(wordCount >= minimumSize, "PyCustomMessageBuilder: buffer too small for minimumSize");
curSize += wordCount;
return kj::arrayPtr(reinterpret_cast<capnp::word*>(view.buf), wordCount);
}
}

View File

@@ -1,28 +0,0 @@
#pragma once
#include "Python.h"
#include <capnp/message.h>
#include <capnp/serialize.h>
#include <vector>
namespace capnp {
class PyCustomMessageBuilder : public capnp::MessageBuilder {
public:
explicit PyCustomMessageBuilder(PyObject* allocateSegmentCallable,
uint firstSegmentWords = capnp::SUGGESTED_FIRST_SEGMENT_WORDS);
~PyCustomMessageBuilder() noexcept(false) override;
kj::ArrayPtr<capnp::word> allocateSegment(capnp::uint minimumSize) override;
private:
PyObject* allocateSegmentCallable;
uint firstSize;
uint curSize = 0;
std::vector<PyObject*> allocatedBuffers;
};
}

View File

@@ -3,12 +3,11 @@
cdef extern from "capnp/helpers/checkCompiler.h":
pass
from libcpp cimport bool
from capnp.helpers.non_circular cimport (
c_reraise_kj_exception as reraise_kj_exception, PyRefCounter,
c_reraise_kj_exception as reraise_kj_exception,
)
from capnp.includes.schema_cpp cimport (
Node, Data, StructNode, EnumNode, InterfaceNode, MessageBuilder, MessageReader, ReaderOptions,
Node, Data, Field as SchemaField, Enumerant as SchemaEnumerant, MessageBuilder, MessageReader, ReaderOptions,
)
from capnp.includes.types cimport *
@@ -46,26 +45,6 @@ cdef extern from "kj/exception.h" namespace " ::kj":
int getType()
StringPtr getDescription()
cdef extern from "kj/memory.h" namespace " ::kj":
cdef cppclass Own[T] nogil:
Own()
T& operator*()
T* get()
Own[T] heap[T](...)
cdef extern from "kj/async.h" namespace " ::kj":
cdef cppclass Promise[T] nogil:
Promise(Promise)
Promise(T)
String trace()
Promise[T] attach(Own[PyRefCounter] &)
Promise[T] attach(Own[PyRefCounter] &, Own[PyRefCounter] &)
Promise[T] attach(Own[PyRefCounter] &, Own[PyRefCounter] &, Own[PyRefCounter] &)
Promise[T] attach(Own[PyRefCounter] &, Own[PyRefCounter] &, Own[PyRefCounter] &, Own[PyRefCounter] &)
ctypedef Promise[Own[PyRefCounter]] PyPromise
ctypedef Promise[void] VoidPromise
cdef extern from "kj/string-tree.h" namespace " ::kj":
cdef cppclass StringTree nogil:
String flatten()
@@ -80,59 +59,15 @@ cdef extern from "kj/common.h" namespace " ::kj":
size_t size()
T& operator[](size_t index)
cdef extern from "kj/array.h" namespace " ::kj":
cdef cppclass Array[T] nogil:
T* begin()
size_t size()
T& operator[](size_t index)
cdef cppclass ArrayBuilder[T] nogil:
T* begin()
size_t size()
T& operator[](size_t index)
T& add(T&)
Array[T] finish()
cdef extern from "kj/async-io.h" namespace " ::kj":
cdef cppclass AsyncIoStream nogil:
Promise[size_t] read(void*, size_t, size_t) except +reraise_kj_exception
Promise[void] write(const void*, size_t) except +reraise_kj_exception
cdef extern from "capnp/schema.capnp.h" namespace " ::capnp":
enum TypeWhich" ::capnp::schema::Type::Which":
TypeWhichVOID " ::capnp::schema::Type::Which::VOID"
TypeWhichBOOL " ::capnp::schema::Type::Which::BOOL"
TypeWhichINT8 " ::capnp::schema::Type::Which::INT8"
TypeWhichINT16 " ::capnp::schema::Type::Which::INT16"
TypeWhichINT32 " ::capnp::schema::Type::Which::INT32"
TypeWhichINT64 " ::capnp::schema::Type::Which::INT64"
TypeWhichUINT8 " ::capnp::schema::Type::Which::UINT8"
TypeWhichUINT16 " ::capnp::schema::Type::Which::UINT16"
TypeWhichUINT32 " ::capnp::schema::Type::Which::UINT32"
TypeWhichUINT64 " ::capnp::schema::Type::Which::UINT64"
TypeWhichFLOAT32 " ::capnp::schema::Type::Which::FLOAT32"
TypeWhichFLOAT64 " ::capnp::schema::Type::Which::FLOAT64"
TypeWhichTEXT " ::capnp::schema::Type::Which::TEXT"
TypeWhichDATA " ::capnp::schema::Type::Which::DATA"
TypeWhichLIST " ::capnp::schema::Type::Which::LIST"
TypeWhichENUM " ::capnp::schema::Type::Which::ENUM"
TypeWhichSTRUCT " ::capnp::schema::Type::Which::STRUCT"
TypeWhichINTERFACE " ::capnp::schema::Type::Which::INTERFACE"
TypeWhichANY_POINTER " ::capnp::schema::Type::Which::ANY_POINTER"
cdef extern from "capnp/schema.h" namespace " ::capnp":
cdef cppclass SchemaType" ::capnp::Type" nogil:
SchemaType()
SchemaType(TypeWhich)
cbool isList()
cbool isEnum()
cbool isStruct()
cbool isInterface()
cbool isData()
StructSchema asStruct() except +reraise_kj_exception
EnumSchema asEnum() except +reraise_kj_exception
InterfaceSchema asInterface() except +reraise_kj_exception
ListSchema asList() except +reraise_kj_exception
cdef cppclass Schema nogil:
@@ -141,35 +76,10 @@ cdef extern from "capnp/schema.h" namespace " ::capnp":
EnumSchema asEnum() except +reraise_kj_exception
ConstSchema asConst() except +reraise_kj_exception
Schema getDependency(uint64_t id) except +reraise_kj_exception
InterfaceSchema asInterface() except +reraise_kj_exception
cdef cppclass InterfaceSchema(Schema) nogil:
cppclass SuperclassList nogil:
uint size()
InterfaceSchema operator[](uint index)
cppclass Method nogil:
InterfaceNode.Method.Reader getProto()
InterfaceSchema getContainingInterface()
uint16_t getOrdinal()
uint getIndex()
StructSchema getParamType()
StructSchema getResultType()
cppclass MethodList nogil:
uint size()
Method operator[](uint index)
MethodList getMethods()
Maybe[Method] findMethodByName(StringPtr name)
Method getMethodByName(StringPtr name)
bint extends(InterfaceSchema other)
SuperclassList getSuperclasses()
# kj::Maybe<InterfaceSchema> findSuperclass(uint64_t typeId) const;
cdef cppclass StructSchema(Schema) nogil:
cppclass Field nogil:
StructNode.Member.Reader getProto()
SchemaField.Reader getProto()
StructSchema getContainingStruct()
uint getIndex()
SchemaType getType()
@@ -192,7 +102,7 @@ cdef extern from "capnp/schema.h" namespace " ::capnp":
cdef cppclass EnumSchema nogil:
cppclass Enumerant nogil:
EnumNode.Enumerant.Reader getProto()
SchemaEnumerant.Reader getProto()
EnumSchema getContainingEnum()
uint16_t getOrdinal()
@@ -207,11 +117,6 @@ cdef extern from "capnp/schema.h" namespace " ::capnp":
cdef cppclass ListSchema nogil:
SchemaType getElementType()
ListSchema listSchemaOfStruct" ::capnp::ListSchema::of"(StructSchema) nogil
ListSchema listSchemaOfEnum" ::capnp::ListSchema::of"(EnumSchema) nogil
ListSchema listSchemaOfInterface" ::capnp::ListSchema::of"(InterfaceSchema) nogil
ListSchema listSchemaOfList" ::capnp::ListSchema::of"(ListSchema) nogil
ListSchema listSchemaOfType" ::capnp::ListSchema::of"(SchemaType) nogil
cdef cppclass ConstSchema:
pass
@@ -222,8 +127,6 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
pass
cppclass Builder nogil:
pass
cppclass Pipeline nogil:
pass
enum Type:
TYPE_UNKNOWN " ::capnp::DynamicValue::UNKNOWN"
@@ -237,8 +140,6 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
TYPE_LIST " ::capnp::DynamicValue::LIST"
TYPE_ENUM " ::capnp::DynamicValue::ENUM"
TYPE_STRUCT " ::capnp::DynamicValue::STRUCT"
TYPE_CAPABILITY " ::capnp::DynamicValue::CAPABILITY"
TYPE_ANY_POINTER " ::capnp::DynamicValue::ANY_POINTER"
cdef cppclass DynamicStruct nogil:
cppclass Reader nogil:
@@ -250,11 +151,6 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
uint64_t getId"getSchema().getProto().getId"()
Maybe[StructSchema.Field] which()
MessageSize totalSize()
cppclass Pipeline nogil:
Pipeline()
Pipeline(Pipeline &)
DynamicValueForward.Pipeline get(char *)
StructSchema getSchema()
cdef cppclass DynamicStruct_Builder" ::capnp::DynamicStruct::Builder" nogil:
# Need to flatten this class out, since nested C++ classes cause havoc with cython fused types
@@ -273,63 +169,9 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
StructSchema getSchema()
uint64_t getId"getSchema().getProto().getId"()
Maybe[StructSchema.Field] which()
void adopt(char *, DynamicOrphan) except +reraise_kj_exception
DynamicOrphan disown(char *)
DynamicStruct.Reader asReader()
MessageSize totalSize()
cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass DynamicCapability nogil:
cppclass Client nogil:
Client()
Client(Client&)
Client(Own[PythonInterfaceDynamicImpl])
Client upcast(InterfaceSchema requestedSchema) except +reraise_kj_exception
DynamicCapability.Client castAs"castAs< ::capnp::DynamicCapability>"(InterfaceSchema)
InterfaceSchema getSchema()
Request newRequest(char * methodName)
# Request newRequest(char * methodName, MessageSize)
cdef extern from "capnp/capability.h" namespace " ::capnp":
cdef cppclass Response" ::capnp::Response< ::capnp::DynamicStruct>"(DynamicStruct.Reader) nogil:
Response(Response)
cdef cppclass RemotePromise" ::capnp::RemotePromise< ::capnp::DynamicStruct>"(
Promise[Response], DynamicStruct.Pipeline) nogil:
RemotePromise(RemotePromise)
cdef cppclass Capability nogil:
cppclass Client nogil:
Client(Client&)
DynamicCapability.Client castAs"castAs< ::capnp::DynamicCapability>"(InterfaceSchema)
cdef extern from "capnp/rpc-twoparty.h" namespace " ::capnp":
cdef cppclass RpcSystem" ::capnp::RpcSystem<capnp::rpc::twoparty::SturdyRefHostId>" nogil:
RpcSystem(RpcSystem&&)
cdef cppclass Side" ::capnp::rpc::twoparty::Side" nogil:
pass
cdef Side CLIENT" ::capnp::rpc::twoparty::Side::CLIENT"
cdef Side SERVER" ::capnp::rpc::twoparty::Side::SERVER"
cdef cppclass TwoPartyVatNetwork nogil:
TwoPartyVatNetwork(EventLoop &, AsyncIoStream& stream, Side, ReaderOptions)
VoidPromise onDisconnect()
VoidPromise onDrained()
RpcSystem makeRpcServer(TwoPartyVatNetwork&, Capability.Client) nogil
RpcSystem makeRpcClient(TwoPartyVatNetwork&) nogil
cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass Request" ::capnp::Request< ::capnp::DynamicStruct, ::capnp::DynamicStruct>" nogil:
Request()
Request(Request &)
DynamicValueForward.Builder get(char *) except +reraise_kj_exception
bint has(char *) except +reraise_kj_exception
void set(char *, DynamicValueForward.Reader) except +reraise_kj_exception
DynamicValueForward.Builder init(char *, uint size) except +reraise_kj_exception
DynamicValueForward.Builder init(char *) except +reraise_kj_exception
StructSchema getSchema()
Maybe[StructSchema.Field] which()
RemotePromise send()
cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass DynamicEnum nogil:
uint16_t getRaw()
@@ -346,35 +188,9 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
uint size()
void set(uint index, DynamicValueForward.Reader value) except +reraise_kj_exception
DynamicValueForward.Builder init(uint index, uint size) except +reraise_kj_exception
void adopt(uint, DynamicOrphan) except +reraise_kj_exception
DynamicOrphan disown(uint)
StructSchema getStructElementType'getSchema().getStructElementType'()
DynamicList.Reader asReader() except +reraise_kj_exception
cdef extern from "capnp/any.h" namespace " ::capnp":
cdef cppclass AnyPointer nogil:
cppclass Reader nogil:
DynamicStruct.Reader getAs"getAs< ::capnp::DynamicStruct>"(StructSchema) except +reraise_kj_exception
DynamicCapability.Client getAsCapability"getAs< ::capnp::DynamicCapability>"(
InterfaceSchema) except +reraise_kj_exception
DynamicList.Reader getAsList"getAs< ::capnp::DynamicList>"(ListSchema) except +reraise_kj_exception
StringPtr getAsText"getAs< ::capnp::Text>"() except +reraise_kj_exception
cppclass Builder nogil:
Builder(Builder)
DynamicStruct_Builder getAs"getAs< ::capnp::DynamicStruct>"(StructSchema) except +reraise_kj_exception
DynamicCapability.Client getAsCapability"getAs< ::capnp::DynamicCapability>"(
InterfaceSchema) except +reraise_kj_exception
DynamicList.Builder getAsList"getAs< ::capnp::DynamicList>"(ListSchema) except +reraise_kj_exception
StringPtr getAsText"getAs< ::capnp::Text>"() except +reraise_kj_exception
void setAsStruct"setAs< ::capnp::DynamicStruct>"(DynamicStruct.Reader&) except +reraise_kj_exception
void setAsText"setAs< ::capnp::Text>"(char*) except +reraise_kj_exception
AnyPointer.Reader asReader() except +reraise_kj_exception
void set(AnyPointer.Reader) except +reraise_kj_exception
DynamicStruct_Builder initAsStruct"initAs< ::capnp::DynamicStruct>"(
StructSchema) except +reraise_kj_exception
DynamicList.Builder initAsList"initAs< ::capnp::DynamicList>"(ListSchema, uint) except +reraise_kj_exception
cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass DynamicValue nogil:
cppclass Reader nogil:
@@ -398,9 +214,6 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
Reader(DynamicList.Reader& value)
Reader(DynamicEnum value)
Reader(DynamicStruct.Reader& value)
Reader(DynamicCapability.Client& value)
Reader(Own[PythonInterfaceDynamicImpl] value)
Reader(AnyPointer.Reader& value)
Type getType()
int64_t asInt"as<int64_t>"()
uint64_t asUint"as<uint64_t>"()
@@ -409,8 +222,6 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
StringPtr asText"as< ::capnp::Text>"()
DynamicList.Reader asList"as< ::capnp::DynamicList>"()
DynamicStruct.Reader asStruct"as< ::capnp::DynamicStruct>"()
AnyPointer.Reader asObject"as< ::capnp::AnyPointer>"()
DynamicCapability.Client asCapability"as< ::capnp::DynamicCapability>"()
DynamicEnum asEnum"as< ::capnp::DynamicEnum>"()
Data.Reader asData"as< ::capnp::Data>"()
@@ -423,22 +234,9 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
StringPtr asText"as< ::capnp::Text>"()
DynamicList.Builder asList"as< ::capnp::DynamicList>"()
DynamicStruct_Builder asStruct"as< ::capnp::DynamicStruct>"()
AnyPointer.Builder asObject"as< ::capnp::AnyPointer>"()
DynamicCapability.Client asCapability"as< ::capnp::DynamicCapability>"()
DynamicEnum asEnum"as< ::capnp::DynamicEnum>"()
Data.Builder asData"as< ::capnp::Data>"()
cppclass Pipeline nogil:
Pipeline(Pipeline)
DynamicCapability.Client asCapability"releaseAs< ::capnp::DynamicCapability>"()
DynamicStruct.Pipeline asStruct"releaseAs< ::capnp::DynamicStruct>"()
Type getType()
cdef extern from "capnp/schema-loader.h" namespace " ::capnp":
cdef cppclass SchemaLoader nogil:
SchemaLoader()
Schema load(Node.Reader reader) except +reraise_kj_exception
Schema get(uint64_t id_) except +reraise_kj_exception
cdef extern from "capnp/schema-parser.h" namespace " ::capnp":
cdef cppclass ParsedSchema(Schema) nogil:
@@ -446,53 +244,3 @@ cdef extern from "capnp/schema-parser.h" namespace " ::capnp":
cdef cppclass SchemaParser nogil:
SchemaParser()
ParsedSchema parseDiskFile(char * displayName, char * diskPath, ArrayPtr[StringPtr] importPath)
cdef extern from "capnp/orphan.h" namespace " ::capnp":
cdef cppclass DynamicOrphan" ::capnp::Orphan< ::capnp::DynamicValue>" nogil:
DynamicValue.Builder get()
DynamicValue.Reader getReader()
cdef extern from "capnp/capability.h" namespace " ::capnp":
cdef cppclass CallContext' ::capnp::CallContext< ::capnp::DynamicStruct, ::capnp::DynamicStruct>' nogil:
CallContext(CallContext&)
DynamicStruct.Reader getParams() except +reraise_kj_exception
void releaseParams() except +reraise_kj_exception
DynamicStruct_Builder getResults()
DynamicStruct_Builder initResults()
void setResults(DynamicStruct.Reader value)
# void adoptResults(Orphan<Results>&& value);
# Orphanage getResultsOrphanage(uint firstSegmentWordSize = 0);
VoidPromise tailCall(Request & tailRequest)
cdef extern from "kj/async.h" namespace " ::kj":
cdef cppclass EventPort:
bool wait() except* with gil
bool poll() except* with gil
void setRunnable(bool runnable) except* with gil
cdef cppclass EventLoop nogil:
EventLoop()
EventLoop(EventPort &)
void run()
cdef cppclass WaitScope nogil:
WaitScope(EventLoop &)
void poll()
cdef cppclass PromiseFulfiller[T] nogil:
void fulfill(T&& value)
void reject(Exception&& exception)
cdef cppclass VoidPromiseFulfiller"::kj::PromiseFulfiller<void>" nogil:
void fulfill()
void reject(Exception&& exception)
cdef extern from "capnp/helpers/capabilityHelper.h":
cdef cppclass PyAsyncIoStream(AsyncIoStream):
PyAsyncIoStream(Own[PyRefCounter] thisptr)
void rejectDisconnected[T](PromiseFulfiller[T]& fulfiller, StringPtr message)
void rejectVoidDisconnected(VoidPromiseFulfiller& fulfiller, StringPtr message)
Exception makeException(StringPtr message)
PyPromise tryReadMessage(AsyncIoStream& stream, ReaderOptions opts)
cppclass PythonInterfaceDynamicImpl:
PythonInterfaceDynamicImpl(InterfaceSchema&, Own[PyRefCounter] server, Own[PyRefCounter] kj_loop)
cdef extern from "capnp/serialize-async.h" namespace " ::capnp":
VoidPromise writeMessage(AsyncIoStream& output, MessageBuilder& builder)

View File

@@ -1,648 +1,71 @@
# schema.capnp.cpp.pyx
# distutils: language = c++
from libc.stdint cimport *
from capnp.helpers.non_circular cimport c_reraise_kj_exception as reraise_kj_exception
from capnp.includes.types cimport *
cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass DynamicValue nogil:
cppclass Reader nogil:
pass
cppclass Builder nogil:
pass
cdef cppclass DynamicStruct nogil:
cppclass Reader nogil:
pass
cdef cppclass DynamicStruct_Builder" ::capnp::DynamicStruct::Builder" nogil:
cdef cppclass DynamicStruct_Builder " ::capnp::DynamicStruct::Builder" nogil:
pass
cdef extern from "capnp/orphan.h" namespace " ::capnp":
cdef cppclass DynamicOrphan" ::capnp::Orphan< ::capnp::DynamicValue>" nogil:
DynamicValue.Builder get()
DynamicValue.Reader getReader()
cdef extern from "capnp/schema.h" namespace " ::capnp":
cdef cppclass Schema nogil:
cdef cppclass StructSchema nogil:
pass
cdef cppclass StructSchema(Schema) nogil:
pass
cdef extern from "capnp/any.h" namespace " ::capnp":
cdef cppclass AnyPointer nogil:
cppclass Reader nogil:
pass
cppclass Builder nogil:
pass
cdef extern from "capnp/blob.h" namespace " ::capnp":
cdef cppclass Data nogil:
cppclass Reader nogil:
char * begin()
char* begin()
size_t size()
cppclass Builder nogil:
char * begin()
char* begin()
size_t size()
cdef cppclass Text nogil:
cppclass Reader nogil:
char * cStr()
cppclass Builder nogil:
char * cStr()
cdef extern from "capnp/message.h" namespace " ::capnp":
cdef cppclass List[T] nogil:
cppclass Reader nogil:
T operator[](uint)
uint size()
cppclass Builder nogil:
T operator[](uint)
uint size()
char* cStr()
cdef extern from "capnp/schema.capnp.h" namespace " ::capnp::schema":
enum:
_ElementSize_inlineComposite " ::capnp::schema::ElementSize::INLINE_COMPOSITE"
_ElementSize_eightBytes " ::capnp::schema::ElementSize::EIGHT_BYTES"
_ElementSize_pointer " ::capnp::schema::ElementSize::POINTER"
_ElementSize_bit " ::capnp::schema::ElementSize::BIT"
_ElementSize_twoBytes " ::capnp::schema::ElementSize::TWO_BYTES"
_ElementSize_fourBytes " ::capnp::schema::ElementSize::FOUR_BYTES"
_ElementSize_byte " ::capnp::schema::ElementSize::BYTE"
_ElementSize_empty " ::capnp::schema::ElementSize::EMPTY"
enum _Value_Body_Which:
_Value_Body_uint32Value " ::capnp::schema::Value::Body::Which::UINT32_VALUE"
_Value_Body_float64Value " ::capnp::schema::Value::Body::Which::FLOAT64_VALUE"
_Value_Body_voidValue " ::capnp::schema::Value::Body::Which::VOID_VALUE"
_Value_Body_dataValue " ::capnp::schema::Value::Body::Which::DATA_VALUE"
_Value_Body_listValue " ::capnp::schema::Value::Body::Which::LIST_VALUE"
_Value_Body_int32Value " ::capnp::schema::Value::Body::Which::INT32_VALUE"
_Value_Body_enumValue " ::capnp::schema::Value::Body::Which::ENUM_VALUE"
_Value_Body_int8Value " ::capnp::schema::Value::Body::Which::INT8_VALUE"
_Value_Body_boolValue " ::capnp::schema::Value::Body::Which::BOOL_VALUE"
_Value_Body_int16Value " ::capnp::schema::Value::Body::Which::INT16_VALUE"
_Value_Body_float32Value " ::capnp::schema::Value::Body::Which::FLOAT32_VALUE"
_Value_Body_interfaceValue " ::capnp::schema::Value::Body::Which::INTERFACE_VALUE"
_Value_Body_uint16Value " ::capnp::schema::Value::Body::Which::UINT16_VALUE"
_Value_Body_uint8Value " ::capnp::schema::Value::Body::Which::UINT8_VALUE"
_Value_Body_int64Value " ::capnp::schema::Value::Body::Which::INT64_VALUE"
_Value_Body_structValue " ::capnp::schema::Value::Body::Which::STRUCT_VALUE"
_Value_Body_textValue " ::capnp::schema::Value::Body::Which::TEXT_VALUE"
_Value_Body_uint64Value " ::capnp::schema::Value::Body::Which::UINT64_VALUE"
_Value_Body_objectValue " ::capnp::schema::Value::Body::Which::OBJECT_VALUE"
enum _Type_Body_Which:
_Type_Body_boolType " ::capnp::schema::Type::Body::Which::BOOL_TYPE"
_Type_Body_structType " ::capnp::schema::Type::Body::Which::STRUCT_TYPE"
_Type_Body_int32Type " ::capnp::schema::Type::Body::Which::INT32_TYPE"
_Type_Body_voidType " ::capnp::schema::Type::Body::Which::VOID_TYPE"
_Type_Body_uint16Type " ::capnp::schema::Type::Body::Which::UINT16_TYPE"
_Type_Body_dataType " ::capnp::schema::Type::Body::Which::DATA_TYPE"
_Type_Body_objectType " ::capnp::schema::Type::Body::Which::OBJECT_TYPE"
_Type_Body_int64Type " ::capnp::schema::Type::Body::Which::INT64_TYPE"
_Type_Body_float64Type " ::capnp::schema::Type::Body::Which::FLOAT64_TYPE"
_Type_Body_interfaceType " ::capnp::schema::Type::Body::Which::INTERFACE_TYPE"
_Type_Body_uint32Type " ::capnp::schema::Type::Body::Which::UINT32_TYPE"
_Type_Body_uint8Type " ::capnp::schema::Type::Body::Which::UINT8_TYPE"
_Type_Body_listType " ::capnp::schema::Type::Body::Which::LIST_TYPE"
_Type_Body_int8Type " ::capnp::schema::Type::Body::Which::INT8_TYPE"
_Type_Body_float32Type " ::capnp::schema::Type::Body::Which::FLOAT32_TYPE"
_Type_Body_enumType " ::capnp::schema::Type::Body::Which::ENUM_TYPE"
_Type_Body_uint64Type " ::capnp::schema::Type::Body::Which::UINT64_TYPE"
_Type_Body_textType " ::capnp::schema::Type::Body::Which::TEXT_TYPE"
_Type_Body_int16Type " ::capnp::schema::Type::Body::Which::INT16_TYPE"
enum _Node_Body_Which:
_Node_Body_annotationNode " ::capnp::schema::Node::Body::Which::ANNOTATION_NODE"
_Node_Body_interfaceNode " ::capnp::schema::Node::Body::Which::INTERFACE_NODE"
_Node_Body_enumNode " ::capnp::schema::Node::Body::Which::ENUM_NODE"
_Node_Body_structNode " ::capnp::schema::Node::Body::Which::STRUCT_NODE"
_Node_Body_constNode " ::capnp::schema::Node::Body::Which::CONST_NODE"
_Node_Body_fileNode " ::capnp::schema::Node::Body::Which::FILE_NODE"
enum _StructNode_Member_Body_Which:
_StructNode_Member_Body_fieldMember " ::capnp::schema::StructNode::Member::Body::Which::FIELD_MEMBER"
_StructNode_Member_Body_unionMember " ::capnp::schema::StructNode::Member::Body::Which::UNION_MEMBER"
cdef cppclass CodeGeneratorRequest
cdef cppclass InterfaceNode
cdef cppclass Value
cdef cppclass ConstNode
cdef cppclass Type
cdef cppclass FileNode
cdef cppclass Node
cdef cppclass AnnotationNode
cdef cppclass EnumNode
cdef cppclass StructNode
cdef cppclass Annotation
cdef cppclass CodeGeneratorRequest nogil:
cppclass Reader nogil:
List[CodeGeneratorRequest.Node].Reader getNodes()
List[UInt64].Reader getRequestedFiles()
cppclass Builder nogil:
List[CodeGeneratorRequest.Node].Builder getNodes()
List[CodeGeneratorRequest.Node].Builder initNodes(int)
List[UInt64].Builder getRequestedFiles()
List[UInt64].Builder initRequestedFiles(int)
cdef cppclass InterfaceNode nogil:
cppclass Method
cppclass Method:
cppclass Param
cppclass Param nogil:
cppclass Reader nogil:
Value getDefaultValue()
Type getType()
Text.Reader getName()
List[InterfaceNode.Method.Param.Annotation].Reader getAnnotations()
cppclass Builder nogil:
Value getDefaultValue()
void setDefaultValue(Value)
Type getType()
void setType(Type)
Text.Builder getName()
void setName(Text)
List[InterfaceNode.Method.Param.Annotation].Builder getAnnotations()
List[InterfaceNode.Method.Param.Annotation].Builder initAnnotations(int)
cppclass Reader nogil:
UInt16 getCodeOrder()
Text.Reader getName()
List[InterfaceNode.Method.InterfaceNode.Method.Param].Reader getParams()
UInt16 getRequiredParamCount()
Type getReturnType()
List[InterfaceNode.Method.Annotation].Reader getAnnotations()
cppclass Builder nogil:
UInt16 getCodeOrder()
void setCodeOrder(UInt16)
Text.Builder getName()
void setName(Text)
List[InterfaceNode.Method.InterfaceNode.Method.Param].Builder getParams()
List[InterfaceNode.Method.InterfaceNode.Method.Param].Builder initParams(int)
UInt16 getRequiredParamCount()
void setRequiredParamCount(UInt16)
Type getReturnType()
void setReturnType(Type)
List[InterfaceNode.Method.Annotation].Builder getAnnotations()
List[InterfaceNode.Method.Annotation].Builder initAnnotations(int)
cppclass Reader nogil:
List[InterfaceNode.InterfaceNode.Method].Reader getMethods()
cppclass Builder nogil:
List[InterfaceNode.InterfaceNode.Method].Builder getMethods()
List[InterfaceNode.InterfaceNode.Method].Builder initMethods(int)
cdef cppclass Value nogil:
cppclass Body
cppclass Body nogil:
cppclass Reader nogil:
int which()
UInt32 getUint32Value()
Float64 getFloat64Value()
Void getVoidValue()
Data.Reader getDataValue()
Object getListValue()
Int32 getInt32Value()
UInt16 getEnumValue()
Int8 getInt8Value()
Bool getBoolValue()
Int16 getInt16Value()
Float32 getFloat32Value()
Void getInterfaceValue()
UInt16 getUint16Value()
UInt8 getUint8Value()
Int64 getInt64Value()
Object getStructValue()
Text.Reader getTextValue()
UInt64 getUint64Value()
Object getObjectValue()
cppclass Builder nogil:
int which()
UInt32 getUint32Value()
void setUint32Value(UInt32)
Float64 getFloat64Value()
void setFloat64Value(Float64)
Void getVoidValue()
void setVoidValue(Void)
Data.Builder getDataValue()
void setDataValue(Data)
Object getListValue()
void setListValue(Object)
Int32 getInt32Value()
void setInt32Value(Int32)
UInt16 getEnumValue()
void setEnumValue(UInt16)
Int8 getInt8Value()
void setInt8Value(Int8)
Bool getBoolValue()
void setBoolValue(Bool)
Int16 getInt16Value()
void setInt16Value(Int16)
Float32 getFloat32Value()
void setFloat32Value(Float32)
Void getInterfaceValue()
void setInterfaceValue(Void)
UInt16 getUint16Value()
void setUint16Value(UInt16)
UInt8 getUint8Value()
void setUint8Value(UInt8)
Int64 getInt64Value()
void setInt64Value(Int64)
Object getStructValue()
void setStructValue(Object)
Text.Builder getTextValue()
void setTextValue(Text)
UInt64 getUint64Value()
void setUint64Value(UInt64)
Object getObjectValue()
void setObjectValue(Object)
cppclass Reader nogil:
Value.Body getBody()
cppclass Builder nogil:
Value.Body getBody()
void setBody(Value.Body)
cdef cppclass ConstNode nogil:
cppclass Reader nogil:
Type getType()
Value getValue()
cppclass Builder nogil:
Type getType()
void setType(Type)
Value getValue()
void setValue(Value)
cdef cppclass Type nogil:
cppclass Body
cppclass Body nogil:
cppclass Reader nogil:
int which()
Void getBoolType()
UInt64 getStructType()
Void getInt32Type()
Void getVoidType()
Void getUint16Type()
Void getDataType()
Void getObjectType()
Void getInt64Type()
Void getFloat64Type()
UInt64 getInterfaceType()
Void getUint32Type()
Void getUint8Type()
Type getListType()
Void getInt8Type()
Void getFloat32Type()
UInt64 getEnumType()
Void getUint64Type()
Void getTextType()
Void getInt16Type()
cppclass Builder nogil:
int which()
Void getBoolType()
void setBoolType(Void)
UInt64 getStructType()
void setStructType(UInt64)
Void getInt32Type()
void setInt32Type(Void)
Void getVoidType()
void setVoidType(Void)
Void getUint16Type()
void setUint16Type(Void)
Void getDataType()
void setDataType(Void)
Void getObjectType()
void setObjectType(Void)
Void getInt64Type()
void setInt64Type(Void)
Void getFloat64Type()
void setFloat64Type(Void)
UInt64 getInterfaceType()
void setInterfaceType(UInt64)
Void getUint32Type()
void setUint32Type(Void)
Void getUint8Type()
void setUint8Type(Void)
Type getListType()
void setListType(Type)
Void getInt8Type()
void setInt8Type(Void)
Void getFloat32Type()
void setFloat32Type(Void)
UInt64 getEnumType()
void setEnumType(UInt64)
Void getUint64Type()
void setUint64Type(Void)
Void getTextType()
void setTextType(Void)
Void getInt16Type()
void setInt16Type(Void)
cppclass Reader nogil:
Type.Body getBody()
cppclass Builder nogil:
Type.Body getBody()
void setBody(Type.Body)
cdef cppclass FileNode nogil:
cppclass Import
cppclass Import nogil:
cppclass Reader nogil:
UInt64 getId()
Text.Reader getName()
cppclass Builder nogil:
UInt64 getId()
void setId(UInt64)
Text.Builder getName()
void setName(Text)
cppclass Reader nogil:
List[FileNode.FileNode.Import].Reader getImports()
cppclass Builder nogil:
List[FileNode.FileNode.Import].Builder getImports()
List[FileNode.FileNode.Import].Builder initImports(int)
cdef cppclass Node nogil:
cppclass Body
cppclass NestedNode
cppclass Body nogil:
cppclass Reader nogil:
int which()
AnnotationNode getAnnotationNode()
InterfaceNode getInterfaceNode()
EnumNode getEnumNode()
StructNode getStructNode()
ConstNode getConstNode()
FileNode getFileNode()
cppclass Builder nogil:
int which()
AnnotationNode getAnnotationNode()
void setAnnotationNode(AnnotationNode)
InterfaceNode getInterfaceNode()
void setInterfaceNode(InterfaceNode)
EnumNode getEnumNode()
void setEnumNode(EnumNode)
StructNode getStructNode()
void setStructNode(StructNode)
ConstNode getConstNode()
void setConstNode(ConstNode)
FileNode getFileNode()
void setFileNode(FileNode)
cppclass NestedNode nogil:
cppclass Reader nogil:
Text.Reader getName()
UInt64 getId()
cppclass Builder nogil:
Text.Builder getName()
void setName(Text)
UInt64 getId()
void setId(UInt64)
uint64_t getId()
cppclass Reader nogil:
Node.Body getBody()
Text.Reader getDisplayName()
List[Node.Annotation].Reader getAnnotations()
UInt64 getScopeId()
List[Node.Node.NestedNode].Reader getNestedNodes()
UInt64 getId()
bint isFile()
uint64_t getScopeId()
uint64_t getId()
ListNestedNodeReader getNestedNodes()
bint isStruct()
bint isEnum()
bint isInterface()
bint isConst()
bint isAnnotation()
cppclass Builder nogil:
Node.Body getBody()
void setBody(Node.Body)
Text.Builder getDisplayName()
void setDisplayName(Text)
List[Node.Annotation].Builder getAnnotations()
List[Node.Annotation].Builder initAnnotations(int)
UInt64 getScopeId()
void setScopeId(UInt64)
List[Node.Node.NestedNode].Builder getNestedNodes()
List[Node.Node.NestedNode].Builder initNestedNodes(int)
UInt64 getId()
void setId(UInt64)
bint isFile()
bint isStruct()
bint isEnum()
bint isInterface()
bint isConst()
bint isAnnotation()
cdef cppclass AnnotationNode nogil:
cdef cppclass Field nogil:
cppclass Reader nogil:
Text.Reader getName()
Bool getTargetsField()
Bool getTargetsConst()
Bool getTargetsFile()
Bool getTargetsStruct()
Bool getTargetsParam()
Bool getTargetsUnion()
Bool getTargetsAnnotation()
Bool getTargetsEnumerant()
Type getType()
Bool getTargetsEnum()
Bool getTargetsInterface()
Bool getTargetsMethod()
cppclass Builder nogil:
Bool getTargetsField()
void setTargetsField(Bool)
Bool getTargetsConst()
void setTargetsConst(Bool)
Bool getTargetsFile()
void setTargetsFile(Bool)
Bool getTargetsStruct()
void setTargetsStruct(Bool)
Bool getTargetsParam()
void setTargetsParam(Bool)
Bool getTargetsUnion()
void setTargetsUnion(Bool)
Bool getTargetsAnnotation()
void setTargetsAnnotation(Bool)
Bool getTargetsEnumerant()
void setTargetsEnumerant(Bool)
Type getType()
void setType(Type)
Bool getTargetsEnum()
void setTargetsEnum(Bool)
Bool getTargetsInterface()
void setTargetsInterface(Bool)
Bool getTargetsMethod()
void setTargetsMethod(Bool)
cdef cppclass EnumNode nogil:
cppclass Enumerant
cppclass Enumerant nogil:
cppclass Reader nogil:
UInt16 getCodeOrder()
Text.Reader getName()
List[EnumNode.Enumerant.Annotation].Reader getAnnotations()
cppclass Builder nogil:
UInt16 getCodeOrder()
void setCodeOrder(UInt16)
Text.Builder getName()
void setName(Text)
List[EnumNode.Enumerant.Annotation].Builder getAnnotations()
List[EnumNode.Enumerant.Annotation].Builder initAnnotations(int)
cdef cppclass Enumerant nogil:
cppclass Reader nogil:
Text.Reader getName()
List[EnumNode.EnumNode.Enumerant].Reader getEnumerants()
cppclass Builder nogil:
List[EnumNode.EnumNode.Enumerant].Builder getEnumerants()
List[EnumNode.EnumNode.Enumerant].Builder initEnumerants(int)
cdef cppclass StructNode nogil:
cppclass Union
cppclass Member
cppclass Field
cppclass Union nogil:
cppclass Reader nogil:
UInt32 getDiscriminantOffset()
List[StructNode.Union.StructNode.Member].Reader getMembers()
cppclass Builder nogil:
UInt32 getDiscriminantOffset()
void setDiscriminantOffset(UInt32)
List[StructNode.Union.StructNode.Member].Builder getMembers()
List[StructNode.Union.StructNode.Member].Builder initMembers(int)
cppclass Member nogil:
cppclass Body
cppclass Body nogil:
cppclass Reader nogil:
int which()
Field getFieldMember()
Union getUnionMember()
cppclass Builder nogil:
int which()
Field getFieldMember()
void setFieldMember(Field)
Union getUnionMember()
void setUnionMember(Union)
cppclass Reader nogil:
UInt16 getOrdinal()
StructNode.Member.Body getBody()
UInt16 getCodeOrder()
Text.Reader getName()
List[StructNode.Member.Annotation].Reader getAnnotations()
cppclass Builder nogil:
UInt16 getOrdinal()
void setOrdinal(UInt16)
StructNode.Member.Body getBody()
void setBody(StructNode.Member.Body)
UInt16 getCodeOrder()
void setCodeOrder(UInt16)
Text.Builder getName()
void setName(Text)
List[StructNode.Member.Annotation].Builder getAnnotations()
List[StructNode.Member.Annotation].Builder initAnnotations(int)
cppclass Field nogil:
cppclass Reader nogil:
Value getDefaultValue()
Type getType()
UInt32 getOffset()
cppclass Builder nogil:
Value getDefaultValue()
void setDefaultValue(Value)
Type getType()
void setType(Type)
UInt32 getOffset()
void setOffset(UInt32)
cppclass Reader nogil:
UInt16 getDataSectionWordSize()
List[StructNode.StructNode.Member].Reader getMembers()
UInt16 getPointerSectionSize()
cppclass Builder nogil:
UInt16 getDataSectionWordSize()
void setDataSectionWordSize(UInt16)
List[StructNode.StructNode.Member].Builder getMembers()
List[StructNode.StructNode.Member].Builder initMembers(int)
UInt16 getPointerSectionSize()
void setPointerSectionSize(UInt16)
cdef cppclass Annotation nogil:
cppclass Reader nogil:
UInt64 getId()
Value getValue()
cppclass Builder nogil:
UInt64 getId()
void setId(UInt64)
Value getValue()
void setValue(Value)
cdef cppclass ListNestedNodeReader"capnp::List<capnp::schema::Node::NestedNode>::Reader" nogil:
ListNestedNodeReader()
ListNestedNodeReader(ListNestedNodeReader)
Node.NestedNode.Reader operator[](uint)
cdef cppclass ListNestedNodeReader "capnp::List<capnp::schema::Node::NestedNode>::Reader" nogil:
uint size()
Node.NestedNode.Reader operator[](uint)
cdef extern from "capnp/common.h" namespace " ::capnp":
cdef cppclass word nogil:
pass
cdef extern from "kj/common.h" namespace " ::kj":
cdef cppclass WordArrayPtr " ::kj::ArrayPtr< ::capnp::word>" nogil:
WordArrayPtr(word*, size_t)
cdef extern from "kj/array.h" namespace " ::kj":
cdef cppclass WordArray " ::kj::Array< ::capnp::word>" nogil:
word* begin()
size_t size()
cdef extern from "capnp/message.h" namespace " ::capnp":
cdef cppclass ReaderOptions nogil:
@@ -650,177 +73,20 @@ cdef extern from "capnp/message.h" namespace " ::capnp":
uint nestingLimit
cdef cppclass MessageBuilder nogil:
CodeGeneratorRequest.Builder getRootCodeGeneratorRequest'getRoot< ::capnp::schema::CodeGeneratorRequest>'()
CodeGeneratorRequest.Builder initRootCodeGeneratorRequest'initRoot< ::capnp::schema::CodeGeneratorRequest>'()
InterfaceNode.Builder getRootInterfaceNode'getRoot< ::capnp::schema::InterfaceNode>'()
InterfaceNode.Builder initRootInterfaceNode'initRoot< ::capnp::schema::InterfaceNode>'()
Value.Builder getRootValue'getRoot< ::capnp::schema::Value>'()
Value.Builder initRootValue'initRoot< ::capnp::schema::Value>'()
ConstNode.Builder getRootConstNode'getRoot< ::capnp::schema::ConstNode>'()
ConstNode.Builder initRootConstNode'initRoot< ::capnp::schema::ConstNode>'()
Type.Builder getRootType'getRoot< ::capnp::schema::Type>'()
Type.Builder initRootType'initRoot< ::capnp::schema::Type>'()
FileNode.Builder getRootFileNode'getRoot< ::capnp::schema::FileNode>'()
FileNode.Builder initRootFileNode'initRoot< ::capnp::schema::FileNode>'()
Node.Builder getRootNode'getRoot< ::capnp::schema::Node>'()
Node.Builder initRootNode'initRoot< ::capnp::schema::Node>'()
AnnotationNode.Builder getRootAnnotationNode'getRoot< ::capnp::schema::AnnotationNode>'()
AnnotationNode.Builder initRootAnnotationNode'initRoot< ::capnp::schema::AnnotationNode>'()
EnumNode.Builder getRootEnumNode'getRoot< ::capnp::schema::EnumNode>'()
EnumNode.Builder initRootEnumNode'initRoot< ::capnp::schema::EnumNode>'()
StructNode.Builder getRootStructNode'getRoot< ::capnp::schema::StructNode>'()
StructNode.Builder initRootStructNode'initRoot< ::capnp::schema::StructNode>'()
Annotation.Builder getRootAnnotation'getRoot< ::capnp::schema::Annotation>'()
Annotation.Builder initRootAnnotation'initRoot< ::capnp::schema::Annotation>'()
DynamicStruct_Builder getRootDynamicStruct'getRoot< ::capnp::DynamicStruct>'(StructSchema) except +reraise_kj_exception
DynamicStruct_Builder initRootDynamicStruct'initRoot< ::capnp::DynamicStruct>'(StructSchema)
void setRootDynamicStruct'setRoot< ::capnp::DynamicStruct::Reader>'(DynamicStruct.Reader)
ConstWordArrayArrayPtr getSegmentsForOutput'getSegmentsForOutput'()
AnyPointer.Builder getRootAnyPointer'getRoot< ::capnp::AnyPointer>'()
DynamicOrphan newOrphan'getOrphanage().newOrphan'(StructSchema)
DynamicStruct_Builder getRootDynamicStruct 'getRoot< ::capnp::DynamicStruct>'(StructSchema) except +reraise_kj_exception
DynamicStruct_Builder initRootDynamicStruct 'initRoot< ::capnp::DynamicStruct>'(StructSchema)
void setRootDynamicStruct 'setRoot< ::capnp::DynamicStruct::Reader>'(DynamicStruct.Reader)
cdef cppclass MessageReader nogil:
CodeGeneratorRequest.Reader getRootCodeGeneratorRequest'getRoot< ::capnp::schema::CodeGeneratorRequest>'()
InterfaceNode.Reader getRootInterfaceNode'getRoot< ::capnp::schema::InterfaceNode>'()
Value.Reader getRootValue'getRoot< ::capnp::schema::Value>'()
ConstNode.Reader getRootConstNode'getRoot< ::capnp::schema::ConstNode>'()
Type.Reader getRootType'getRoot< ::capnp::schema::Type>'()
FileNode.Reader getRootFileNode'getRoot< ::capnp::schema::FileNode>'()
Node.Reader getRootNode'getRoot< ::capnp::schema::Node>'()
AnnotationNode.Reader getRootAnnotationNode'getRoot< ::capnp::schema::AnnotationNode>'()
EnumNode.Reader getRootEnumNode'getRoot< ::capnp::schema::EnumNode>'()
StructNode.Reader getRootStructNode'getRoot< ::capnp::schema::StructNode>'()
Annotation.Reader getRootAnnotation'getRoot< ::capnp::schema::Annotation>'()
DynamicStruct.Reader getRootDynamicStruct'getRoot< ::capnp::DynamicStruct>'(StructSchema) except +reraise_kj_exception
AnyPointer.Reader getRootAnyPointer'getRoot< ::capnp::AnyPointer>'()
DynamicStruct.Reader getRootDynamicStruct 'getRoot< ::capnp::DynamicStruct>'(StructSchema) except +reraise_kj_exception
cdef cppclass MallocMessageBuilder(MessageBuilder) nogil:
MallocMessageBuilder()
MallocMessageBuilder(int)
cdef cppclass SegmentArrayMessageReader(MessageReader) nogil:
SegmentArrayMessageReader(ConstWordArrayArrayPtr array) except +reraise_kj_exception
SegmentArrayMessageReader(ConstWordArrayArrayPtr array, ReaderOptions) except +reraise_kj_exception
cdef cppclass FlatMessageBuilder(MessageBuilder) nogil:
FlatMessageBuilder(WordArrayPtr array)
FlatMessageBuilder(WordArrayPtr array, ReaderOptions)
enum Void:
VOID
cdef extern from "PyCustomMessageBuilder.h" namespace " ::capnp":
cdef cppclass PyCustomMessageBuilder(MessageBuilder):
PyCustomMessageBuilder(PyObject* allocateSegmentCallable)
PyCustomMessageBuilder(PyObject* allocateSegmentCallable, int firstSegmentSize)
cdef extern from "capnp/common.h" namespace " ::capnp":
cdef cppclass word nogil:
pass
cdef extern from "kj/common.h" namespace " ::kj":
# Cython can't handle ArrayPtr[word] as a function argument
cdef cppclass WordArrayPtr " ::kj::ArrayPtr< ::capnp::word>" nogil:
WordArrayPtr()
WordArrayPtr(word *, size_t size)
size_t size()
word& operator[](size_t index)
cdef cppclass ByteArrayPtr " ::kj::ArrayPtr< ::capnp::byte>" nogil:
ByteArrayPtr()
ByteArrayPtr(byte *, size_t size)
size_t size()
byte& operator[](size_t index)
cdef cppclass ConstWordArrayPtr " ::kj::ArrayPtr< const ::capnp::word>" nogil:
ConstWordArrayPtr()
ConstWordArrayPtr(word *, size_t size)
size_t size()
const word* begin()
cdef cppclass ConstWordArrayArrayPtr " ::kj::ArrayPtr< const ::kj::ArrayPtr< const ::capnp::word>>" nogil:
ConstWordArrayArrayPtr()
ConstWordArrayArrayPtr(ConstWordArrayPtr*, size_t size)
size_t size()
ConstWordArrayPtr& operator[](size_t index)
cdef extern from "kj/array.h" namespace " ::kj":
# Cython can't handle Array[word] as a function argument
cdef cppclass WordArray " ::kj::Array< ::capnp::word>" nogil:
word* begin()
size_t size()
cdef cppclass ByteArray " ::kj::Array< ::capnp::byte>" nogil:
char* begin()
size_t size()
cdef extern from "kj/array.h" namespace " ::kj":
cdef cppclass InputStream nogil:
void read(void* buffer, size_t bytes) except +reraise_kj_exception
size_t read(void* buffer, size_t minBytes, size_t maxBytes) except +reraise_kj_exception
size_t tryRead(void* buffer, size_t minBytes, size_t maxBytes) except +reraise_kj_exception
void skip(size_t bytes) except +reraise_kj_exception
cdef cppclass OutputStream nogil:
void write(const void* buffer, size_t size) except +reraise_kj_exception
# void write(ArrayPtr<const ArrayPtr<const byte>> pieces);
cdef cppclass BufferedInputStream(InputStream) nogil:
pass
cdef cppclass BufferedOutputStream(OutputStream) nogil:
pass
cdef cppclass BufferedInputStreamWrapper(BufferedInputStream) nogil:
BufferedInputStreamWrapper(InputStream&)
cdef cppclass BufferedOutputStreamWrapper(BufferedOutputStream) nogil:
BufferedOutputStreamWrapper(OutputStream&)
cdef cppclass ArrayInputStream(BufferedInputStream) nogil:
ArrayInputStream(ByteArrayPtr)
ByteArrayPtr getArray()
# ByteArrayPtr tryGetReadBuffer() except +reraise_kj_exception
cdef cppclass ArrayOutputStream(BufferedOutputStream) nogil:
ArrayOutputStream(ByteArrayPtr)
ByteArrayPtr getArray()
ByteArrayPtr getWriteBuffer()
cdef cppclass FdInputStream(InputStream) nogil:
FdInputStream(int)
cdef cppclass FdOutputStream(OutputStream) nogil:
FdOutputStream(int)
cdef extern from "capnp/serialize.h" namespace " ::capnp":
cdef cppclass InputStreamMessageReader(MessageReader) nogil:
InputStreamMessageReader(InputStream&) except +reraise_kj_exception
InputStreamMessageReader(InputStream&, ReaderOptions) except +reraise_kj_exception
cdef cppclass StreamFdMessageReader(MessageReader) nogil:
StreamFdMessageReader(int) except +reraise_kj_exception
StreamFdMessageReader(int, ReaderOptions) except +reraise_kj_exception
cdef cppclass FlatArrayMessageReader(MessageReader) nogil:
FlatArrayMessageReader(WordArrayPtr array) except +reraise_kj_exception
FlatArrayMessageReader(WordArrayPtr array, ReaderOptions) except +reraise_kj_exception
FlatArrayMessageReader(WordArrayPtr, ReaderOptions) except +reraise_kj_exception
const word* getEnd() const
void writeMessageToFd(int, MessageBuilder&) except +reraise_kj_exception nogil
WordArray messageToFlatArray(MessageBuilder &) nogil
cdef extern from "capnp/serialize-packed.h" namespace " ::capnp":
cdef cppclass PackedInputStream(InputStream) nogil:
PackedInputStream(BufferedInputStream&) except +reraise_kj_exception
cdef cppclass PackedOutputStream(OutputStream) nogil:
PackedOutputStream(BufferedOutputStream&) except +reraise_kj_exception
cdef cppclass PackedMessageReader(MessageReader) nogil:
PackedMessageReader(BufferedInputStream&) except +reraise_kj_exception
PackedMessageReader(BufferedInputStream&, ReaderOptions) except +reraise_kj_exception
cdef cppclass PackedFdMessageReader(MessageReader) nogil:
PackedFdMessageReader(int) except +reraise_kj_exception
PackedFdMessageReader(int, ReaderOptions) except +reraise_kj_exception
void writePackedMessage(BufferedOutputStream&, MessageBuilder&) except +reraise_kj_exception nogil
void writePackedMessage(OutputStream&, MessageBuilder&) except +reraise_kj_exception nogil
void writePackedMessageToFd(int, MessageBuilder&) except +reraise_kj_exception nogil
WordArray messageToFlatArray(MessageBuilder&) nogil