Quoting Kenton Varda (2021-11-23 19:20:50) > On Tue, Nov 23, 2021 at 5:01 PM Ian Denhardt <[1]i...@zenhack.net> > wrote: > > Ok, I think I get it, let me know if I have this right: > [...] > > Right.
Ok, great. Thanks for your patience. > Cap'n Proto doesn't provide any backpressure from the underlying TCP > connection to the app, except through streaming. If you just make a ton > of calls all at once without waiting for returns, you'll bloat your > memory with unsent messages. And possibly worse: if the capability > bounces through a proxy, and you have a fast connection (say, a unix > socket) to the proxy, but a slow connection from the proxy to the > eventual destination, you'll end up bloating the proxy's memory. This is not true of the Go implementation, which currently blocks until the message has been written to the socket (we don't currently treat streaming specially, but presumably we could keep the blocking API when we add that; I don't think we even need to treat the annotation specially, we should be able to do it for all calls). So I don't think this applies to a scenario where both sides of the connection work like the Go implementation. But I hadn't thought about the proxy issue (where the proxy might be using a different implementation); thank you for pointing that out. -Ian -- 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 capnproto+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/capnproto/163771729674.16273.9436747546473613420%40localhost.localdomain.