channels
channels copied to clipboard
InMemoryChannelLayer improvements, test fixes
Improvements to InMemoryChannelLayer
- honor expiry / don't block for eternity
- honor per channel capacities
- threadsafer cleaning design with atomic operations
- parallel sending
Bugfixes tests
- channel_layer is sometimes overwritten and the tests become bogus
Note: I made an mistake with:
- honor expiry / don't block for eternity This is the correct behavior for receive. But maybe the receive method it should be put in a loop, in case the queue is expired (see devkral/channels-multiprocessing for an example)