diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-12-12 17:47:48 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-12-24 14:42:00 -0800 |
| commit | 429313de69cb2ddd1f076017968d1862ef02b455 (patch) | |
| tree | 6bdf9da3c58a3a38e22fcc958c6b9e91509a0695 /src/libstd/rt | |
| parent | 1ca77268d97b62e2fcaa1642aaf9313e164963b3 (diff) | |
| download | rust-429313de69cb2ddd1f076017968d1862ef02b455.tar.gz rust-429313de69cb2ddd1f076017968d1862ef02b455.zip | |
rustuv: Reimplement without using std::rt::sched
This reimplements librustuv without using the interfaces provided by the scheduler in libstd. This solely uses the new Runtime trait in order to interface with the local task and perform the necessary scheduling operations. The largest snag in this refactoring is reimplementing homing. The new runtime trait exposes no concept of "homing" a task or forcibly sending a task to a remote scheduler (there is no concept of a scheduler). In order to reimplement homing, the transferrence of tasks is now done at the librustuv level instead of the scheduler level. This means that all I/O loops now have a concurrent queue which receives homing messages and requests. This allows the entire implementation of librustuv to be only dependent on the runtime trait, severing all dependence of librustuv on the scheduler and related green-thread functions. This is all in preparation of the introduction of libgreen and libnative. At the same time, I also took the liberty of removing all glob imports from librustuv.
Diffstat (limited to 'src/libstd/rt')
0 files changed, 0 insertions, 0 deletions
