Automatically transfer ownership across tasks
Automatically transfer ownership across tasks

Previously several tasks could attempt to perform an operation on a
socket simultaneously, and the result is their data could become
comingled.

This system makes read/write operations atomic to a particular task,
ensuring only one task is leveraging a particular I/O object on a given
Celluloid::IO object at a given time.

celluloid/framework