diff --git a/capnp/helpers/capabilityHelper.cpp b/capnp/helpers/capabilityHelper.cpp index 353f4b5..94f6591 100644 --- a/capnp/helpers/capabilityHelper.cpp +++ b/capnp/helpers/capabilityHelper.cpp @@ -122,11 +122,6 @@ kj::Promise> wrapRemoteCall(kj::Own func, ca return wrapPyFunc(kj::mv(error_func), stealPyRef(wrap_kj_exception(arg))); } )); } -::kj::Promise> then(kj::Promise> > && promise) { - return promise.then([](kj::Array>&& arg) { - return stealPyRef(convert_array_pyobject(arg)); } ); -} - kj::Promise PythonInterfaceDynamicImpl::call(capnp::InterfaceSchema::Method method, capnp::CallContext< capnp::DynamicStruct, capnp::DynamicStruct> context) { auto methodName = method.getProto().getName(); diff --git a/capnp/helpers/capabilityHelper.h b/capnp/helpers/capabilityHelper.h index 7c81f50..8dee07c 100644 --- a/capnp/helpers/capabilityHelper.h +++ b/capnp/helpers/capabilityHelper.h @@ -84,8 +84,6 @@ inline kj::Promise> wrapSizePromise(kj::Promise pr ::kj::Promise> then(kj::Own> promise, kj::Ownfunc, kj::Own error_func); -::kj::Promise> then(kj::Promise> > && promise); - class PythonInterfaceDynamicImpl final: public capnp::DynamicCapability::Server { public: PyObject * py_server; diff --git a/capnp/lib/capnp.pxd b/capnp/lib/capnp.pxd index 9d95554..3350f14 100644 --- a/capnp/lib/capnp.pxd +++ b/capnp/lib/capnp.pxd @@ -160,7 +160,6 @@ cdef _setDynamicFieldStatic(DynamicStruct_Builder thisptr, field, value, parent) cdef api object wrap_dynamic_struct_reader(Response & r) with gil cdef api Promise[void] * call_server_method( object server, char * _method_name, CallContext & _context) except * with gil -cdef api convert_array_pyobject(PyArray & arr) with gil cdef api object wrap_kj_exception(capnp.Exception & exception) with gil cdef api object wrap_kj_exception_for_reraise(capnp.Exception & exception) with gil cdef api object get_exception_info(object exc_type, object exc_obj, object exc_tb) with gil diff --git a/capnp/lib/capnp.pyx b/capnp/lib/capnp.pyx index 09a184f..5e74f94 100644 --- a/capnp/lib/capnp.pyx +++ b/capnp/lib/capnp.pyx @@ -154,12 +154,6 @@ cdef api VoidPromise * call_server_method(object server, "Server function ({}) is not a coroutine" .format(method_name, str(ret))) - return NULL - - -cdef api object convert_array_pyobject(PyArray & arr) with gil: - return [arr[i].get().obj for i in range(arr.size())] - cdef api Own[Promise[Own[PyRefCounter]]] extract_promise(object obj): if type(obj) is _Promise: @@ -2097,27 +2091,6 @@ cdef class _RemotePromise: self._parent = None # We don't need parent anymore. Setting to none allows quicker garbage collection -cpdef join_promises(promises) except +reraise_kj_exception: - heap = capnp.heapArrayBuilderPyPromise(len(promises)) - - new_promises = [] - new_promises_append = new_promises.append - - for promise in promises: - promise_type = type(promise) - if promise_type is _Promise: - pyPromise = <_Promise>promise - elif promise_type is _RemotePromise or promise_type is _VoidPromise: - pyPromise = <_Promise>promise.as_pypromise() - new_promises_append(pyPromise) - else: - raise KjException( - "One of the promises passed to `join_promises` had a non promise value of: {}".format(promise)) - heap.add(movePromise(deref(pyPromise.thisptr))) - - return _Promise()._init(helpers.then(capnp.joinPromises(heap.finish()))) - - cdef class _Request(_DynamicStructBuilder): cdef Request * thisptr_child cdef public bint is_consumed