Hi Kenton, Thanks for the quick response and direction. The example comes in handy as I am opting for the longer route.
- Lena On Wednesday, December 2, 2020 at 10:56:13 PM UTC+2 [email protected] wrote: > Hi Lena, > > `WaitScope` has a method called `poll()` which checks for new I/O and > handles it without blocking. Maybe you can get away with calling that from > time to time. > > If that doesn't work, then it sounds like you may need to implement your > own kj::EventPort to use in place of kj::UnixEventPort. A custom event > allows you to integrate with some other event loop. You will end up needing > to implement your own AsyncIoStream based on this. For an example of > something similar, you could look at how node-capnp implements a custom > event port that uses libuv's event loop (in order to integrate with Node); > see the first part of this file: > > https://github.com/capnproto/node-capnp/blob/node10/src/node-capnp/capnp.cc > > Obviously, that's a fair amount of work, so hopefully the `poll()` > approach gets you what you want. > > -Kenton > > On Wed, Dec 2, 2020 at 8:48 AM Lena_work Work <[email protected]> wrote: > >> Hi >> >> I'm working on a project where rpc calls and other processing must occur >> in the same thread. That thread may only be interrupted for short periods. >> To achieve this I'm thinking about adding a file descriptor of the IPC to >> the poller in our code. When data is available on this file descriptor IPC >> calls will be processed until either there are none left or the allowed >> time is up. >> >> The class `EventLoop` has a function `run` that is described to be doing >> what seems useful in my case. For this reason it would be helpful to >> know how I can set up an rpc server with an eventloop that I can interact >> with directly? >> Any alternative suggestions would also be greatly appreciated. >> >> - Lena >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Cap'n Proto" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/capnproto/53fb3f5f-65dc-4f26-9af4-bfc1e4ff206cn%40googlegroups.com >> >> <https://groups.google.com/d/msgid/capnproto/53fb3f5f-65dc-4f26-9af4-bfc1e4ff206cn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/capnproto/7dc69c53-5508-4542-bad2-e3ce647cccfcn%40googlegroups.com.
