4 ms·
The throtting can be set directly from untwisted reactor(planning to implement soon once i get untwisted on py3). I think the support for caching is really good
by iogf 9y ago
The throtting can be set directly from untwisted reactor(planning to implement soon once i get untwisted on py3). I think the support for caching is really good too, i plan to implement it this week.
- tedmiston 9y agoAwesome. It looks like you're reusing your own dependencies which is cool. Can you explain how untwisted relates to twisted a little more? I read the repo readme, but not sure I'm following.
- iogf 9y agoUntwised is meant to solve all problems twisted solves but it does it in quite a different way. They are two different tools that would solve the same problems using different approaches. Untwisted doesnt share code nor architecture with twisted. In untwisted, sockets are abstracted as event machines, they are sort of "super sockets" that can dispatch events. You map handles to Spin instances, these handles are mapped upon events, when these events occurs then your handles get called. The handles can spawn events inside the Spin instances, in this way you can better abstract all kind of internet protocols consequently achieving a better level of modularity and extensibility. That is one of the reasons that sukhoi's code is sort of short, it is due to the underlying framework in which it was written on.
- sandGorgon 9y agoI'm not able to figure out dependencies.. is this pure python ? Or are you using one of gevent, libev, uvloop, etc. Since it is py2, i suppose asyncio is out of the picture
- iogf 9y agountwisted is pure python. it uses either select/epoll for scaling sockets.
- sandGorgon 9y agoThis is very interesting. did you consider using libev/uvloop - which are generally consider battle tested async frameworks ? Is there anything missing that prompted you to reimplement ?
- iogf 9y agoIt seems a good thing to do, indeed. i'll consider that.