mbr / tinyrpc

A compact, modular transport and protocol agnostic RPC library. Does jsonrpc v2.
https://tinyrpc.readthedocs.org
MIT License
156 stars 53 forks source link

Create async version of tinyrpc #88

Open lnoor opened 3 years ago

amitlissack commented 3 years ago

This would be great!

I see there's a branch. What is the status of this feature?

lnoor commented 3 years ago

Hi. Yes there is lnoor/asyncio based on the work of DrPyser and Dan Gusev. As you can see it's been a while since I worked on it.

Status at the moment is that there is an async dispatcher and server. I'm working on async transports and their tests. There is currently little to no progress. Other activities take precendence at the moment.

But it is good to know that people are still interested in this feature. Is your interest primarily server or client side. Although I have a couple of ideas about it, I haven't started work on the client side yet. If you are willing to help out, I gladly share those ideas and see what comes of it.

amitlissack commented 3 years ago

I am very interested in client and server. I will take a peek at your branch and see if I can contribute.

lnoor commented 3 years ago

Please do. If you want to work on it let's talk what needs to be done. It would be regrettable if your work is not included.

amitlissack commented 3 years ago

Are you planning to create AsyncServerTransport derived versions of all the Transport classes?

lnoor commented 3 years ago

No, only those I expect to use myself: CallbackServerTransport and perhaps ZmqServerTransport or WsgiServerTransport.

lnoor commented 3 years ago

"Are you planning to create AsyncServerTransport derived versions of all the Transport classes?" Is that perhaps a way to ask what I plan to do myself? If so, you're welcome to work on the server part as well.

amitlissack commented 3 years ago

Not really. I was curious to know what your strategy was for supporting asyncio. Whether each client and server transport would need asyncio vs non-asyncio versions.

I apologize for not responding sooner. Busy time.