Get rid of VoidPromise and (almost) Promise
We only retain RemotePromise for its pipelining capabilities.
This commit is contained in:
@@ -5,7 +5,7 @@ cdef extern from "capnp/helpers/checkCompiler.h":
|
||||
|
||||
from libcpp cimport bool
|
||||
from capnp.helpers.non_circular cimport (
|
||||
PythonInterfaceDynamicImpl, reraise_kj_exception, PyRefCounter, ErrorHandler,
|
||||
PythonInterfaceDynamicImpl, reraise_kj_exception, PyRefCounter,
|
||||
)
|
||||
from capnp.includes.schema_cpp cimport (
|
||||
Node, Data, StructNode, EnumNode, InterfaceNode, MessageBuilder, MessageReader, ReaderOptions,
|
||||
@@ -52,8 +52,6 @@ cdef extern from "kj/memory.h" namespace " ::kj":
|
||||
T& operator*()
|
||||
T* get()
|
||||
Own[T] heap[T](...)
|
||||
Own[TwoPartyVatNetwork] makeTwoPartyVatNetwork" ::kj::heap< ::capnp::TwoPartyVatNetwork>"(
|
||||
AsyncIoStream& stream, Side, ReaderOptions)
|
||||
|
||||
cdef extern from "kj/async.h" namespace " ::kj":
|
||||
cdef cppclass Promise[T] nogil:
|
||||
@@ -108,72 +106,12 @@ cdef extern from "kj/array.h" namespace " ::kj":
|
||||
T& add(T&)
|
||||
Array[T] finish()
|
||||
|
||||
ArrayBuilder[PyPromise] heapArrayBuilderPyPromise"::kj::heapArrayBuilder< ::kj::Promise<kj::Own<PyRefCounter>> >"(size_t) nogil
|
||||
|
||||
ctypedef Array[Own[PyRefCounter]] PyArray' ::kj::Array<kj::Own<PyRefCounter>>'
|
||||
|
||||
ctypedef Promise[PyArray] PyPromiseArray
|
||||
|
||||
cdef extern from "kj/time.h" namespace " ::kj":
|
||||
cdef cppclass Duration nogil:
|
||||
Duration operator*(int64_t)
|
||||
Duration NANOSECONDS
|
||||
Duration MICROSECONDS
|
||||
Duration MILLISECONDS
|
||||
Duration SECONDS
|
||||
Duration MINUTES
|
||||
Duration HOURS
|
||||
Duration DAYS
|
||||
cdef cppclass TimePoint:
|
||||
TimePoint(Duration)
|
||||
cdef cppclass MonotonicClock nogil:
|
||||
MonotonicClock(MonotonicClock&)
|
||||
TimePoint now()
|
||||
MonotonicClock systemPreciseMonotonicClock()
|
||||
|
||||
cdef extern from "kj/timer.h" namespace " ::kj":
|
||||
cdef cppclass Timer nogil:
|
||||
# int64_t now()
|
||||
# VoidPromise atTime(TimePoint time)
|
||||
VoidPromise afterDelay(Duration delay)
|
||||
cdef cppclass TimerImpl(Timer) nogil:
|
||||
TimerImpl(TimePoint startTime)
|
||||
Maybe[TimePoint] nextEvent()
|
||||
Maybe[uint64_t] timeoutToNextEvent(TimePoint start, Duration unit, uint64_t max)
|
||||
void advanceTo(TimePoint newTime)
|
||||
|
||||
cdef inline Duration Nanoseconds(int64_t nanos):
|
||||
return NANOSECONDS * nanos
|
||||
|
||||
cdef extern from "kj/async-io.h" namespace " ::kj":
|
||||
cdef cppclass AsyncIoStream nogil:
|
||||
Promise[size_t] read(void*, size_t, size_t)
|
||||
Promise[void] write(const void*, size_t)
|
||||
|
||||
cdef cppclass LowLevelAsyncIoProvider:
|
||||
# Own[AsyncInputStream] wrapInputFd(int)
|
||||
# Own[AsyncOutputStream] wrapOutputFd(int)
|
||||
Own[AsyncIoStream] wrapSocketFd(int)
|
||||
Timer& getTimer() except +reraise_kj_exception
|
||||
|
||||
cdef cppclass AsyncIoProvider nogil:
|
||||
TwoWayPipe newTwoWayPipe()
|
||||
|
||||
cdef cppclass AsyncIoContext nogil:
|
||||
AsyncIoContext(AsyncIoContext&)
|
||||
Own[LowLevelAsyncIoProvider] lowLevelProvider
|
||||
Own[AsyncIoProvider] provider
|
||||
WaitScope waitScope
|
||||
|
||||
cdef cppclass TaskSet nogil:
|
||||
TaskSet(ErrorHandler &)
|
||||
|
||||
cdef cppclass TwoWayPipe nogil:
|
||||
Own[AsyncIoStream] ends[2]
|
||||
|
||||
AsyncIoContext setupAsyncIo() nogil
|
||||
Own[AsyncIoProvider] newAsyncIoProvider(LowLevelAsyncIoProvider& lowLevel);
|
||||
|
||||
cdef extern from "capnp/schema.capnp.h" namespace " ::capnp":
|
||||
enum TypeWhich" ::capnp::schema::Type::Which":
|
||||
TypeWhichVOID " ::capnp::schema::Type::Which::VOID"
|
||||
@@ -551,7 +489,6 @@ cdef extern from "kj/async.h" namespace " ::kj":
|
||||
cdef cppclass VoidPromiseFulfiller"::kj::PromiseFulfiller<void>" nogil:
|
||||
void fulfill()
|
||||
void reject(Exception&& exception)
|
||||
PyPromiseArray joinPromises(Array[PyPromise]) nogil
|
||||
|
||||
cdef extern from "capnp/helpers/capabilityHelper.h":
|
||||
cdef cppclass PyAsyncIoStream(AsyncIoStream):
|
||||
|
||||
Reference in New Issue
Block a user