Oliver Kowalke
f456902492
add test for bounded_channel (basics)
2015-08-02 21:17:04 +02:00
Oliver Kowalke
f275125b93
fixes for unbounded_channel
2015-08-02 20:48:52 +02:00
Nat Goodspeed
23434ca2e2
Tweaks to new documentation
2015-07-29 09:21:49 -04:00
Oliver Kowalke
7a792810c9
documentation: some notes to boost.asio integration
2015-07-29 12:24:00 +02:00
Oliver Kowalke
5feef62a49
documentation: add description for mutext types
2015-07-29 12:13:33 +02:00
Oliver Kowalke
b8e2520b29
documentation: formating
2015-07-29 11:48:42 +02:00
Oliver Kowalke
4140e10330
this_fiber::yield() is not an interruption point
2015-07-29 11:47:17 +02:00
Oliver Kowalke
37b22812f8
documentation: note about thread-safe synchronization
...
- note added to section 'Synchronization"
2015-07-29 11:35:01 +02:00
Oliver Kowalke
5c9cbd0307
documentation: add missing function descriptions
2015-07-29 11:30:43 +02:00
Oliver Kowalke
88d44ffee6
documentation: fix fals function-links in interruption points
2015-07-29 11:19:18 +02:00
Oliver Kowalke
2cbe22d8af
documentation: add free function wait_interval()
...
- wait_itneval() sets/returns the time interval the thread is set to
sleep if not fiber is ready to run
2015-07-29 11:18:09 +02:00
Oliver Kowalke
3dbca594df
documentation: add missing interruption points in list
2015-07-29 10:59:07 +02:00
Oliver Kowalke
2d07f7b47b
documentation: future throw fiber_interrupted
2015-07-29 10:58:26 +02:00
Oliver Kowalke
d5858a2677
documentation: remove invalid functions
2015-07-29 10:38:42 +02:00
Oliver Kowalke
1c139895e0
documentation: rename queue.qbk -> channel.qbk
2015-07-29 10:25:18 +02:00
Oliver Kowalke
519a8924a9
documentation: barrier:wait() is interruption point
2015-07-29 10:20:01 +02:00
Oliver Kowalke
caf55428a1
documentation: fiber::join() asserts on not-a-fiber
2015-07-29 10:12:31 +02:00
Nat Goodspeed
e1c9b2b54c
Make Rationale section reference new BOOST_FIBERS_NO_ATOMICS passage.
...
Tweaks to new wording.
2015-07-28 22:31:35 -04:00
Nat Goodspeed
dbca64d7d0
Merge branch 'develop' of github.com:olk/boost-fiber into develop
2015-07-28 22:07:13 -04:00
Nat Goodspeed
ac248e75f8
Couple tweaks to futures.qbk.
2015-07-28 22:06:44 -04:00
Oliver Kowalke
b63f95758d
documentation: formating of code in scheduler.qbk
2015-07-28 18:24:25 +02:00
Oliver Kowalke
161f2a134c
documentation: default scheduler is not heap-allocated
...
- round_robin, the default scheduler, is created at thread-creation
as thread-local, local static
2015-07-28 18:20:31 +02:00
Oliver Kowalke
1413406fab
documentation: ready_fibers() returns zero if scheduler has no fibers
2015-07-28 17:22:12 +02:00
Oliver Kowalke
6740de6761
documentation: synch. objects are threadsafe per default
...
- lib uses atomics to safely synchronize objects running in
different threads
- use BOOST_FIBERS_NO_ATOMICS to remove safety
2015-07-28 09:57:00 +02:00
Oliver Kowalke
3fac431abc
documentation: this_fiber::yield() is a interruption point
...
- this_fiber::yield() calls fiber_manager::yield() that calls
fiber_manager::run() -> interruption point
2015-07-28 09:51:58 +02:00
Oliver Kowalke
350a26b27a
documentation: cycles of fiber switch
...
- a context switch between fibers costs less than 100 cycles
2015-07-28 09:20:27 +02:00
Nat Goodspeed
018972f69a
Describe bounded_channel::pop() et al. same as unbounded_channel.
...
Well, almost the same: bounded_channel pop operations include the note about
unblocking blocked push operations. Parameterize xchannel_pop (et al.) to
allow this divergence between unbounded_channel and bounded_channel pop
methods.
2015-07-22 08:24:17 -04:00
Nat Goodspeed
0004ac676f
Fix "enchanneled"/"dechanneled". Encapsulate some redundant wording.
...
The descriptions of [un]bounded_channel::push() and the other push variants
are very similar, and must be kept consistent. Similarly, all the pop variants
must be kept consistent. Use QuickBook templates to supply much of the wording
for these methods.
2015-07-21 10:44:49 -04:00
Nat Goodspeed
a4de0bb7a5
More documentation.
...
Add note explaining why synchronization objects can neither be moved nor
copied.
Introduce line breaks for some code lines that get broken strangely by doc
toolchain.
Eliminate reference to mutex::scoped_lock.
2015-07-20 09:40:01 -04:00
Nat Goodspeed
3674114094
Merge branch 'develop' of github.com:olk/boost-fiber into develop
2015-07-19 23:11:02 -04:00
Nat Goodspeed
1dadc51ec4
Add reference documentation for custom scheduling classes.
...
Also resolve certain previously-dangling internal documentation
cross-references: custom, synchronization, scheduling, stack.
Add documentation placeholders for mutex (and friends) lock(), try_lock(),
unlock() methods.
Add documentation placeholders for future (and shared_future)
get_exception_ptr() methods.
Remove documentation for obsolete future (and shared_future) swap(), operator
safe_bool() and operator!() methods.
2015-07-19 22:57:56 -04:00
Nat Goodspeed
bbdd101393
Snapshot of incomplete documentation review.
2015-07-10 09:47:11 -04:00
Oliver Kowalke
e7b1ee131c
add function ready_fibers()
2015-07-03 18:03:14 +02:00
Oliver Kowalke
5d18cd5a4e
add interruption point after fiber_manager::run()
...
- functions fiber_manager::join()/fiber_manager::yield()/fiber_manager:.wait()/fiber_manager_wait_until()
check for interrption of the current fiber
2015-06-21 10:53:37 +02:00
Oliver Kowalke
6c35324727
use atomics per default
...
- atomics can be disable using BOOST_FIBERS_NO_ATOMICS compiler flag
2015-06-20 21:31:34 +02:00
Oliver Kowalke
20d08d98cd
enable atomics with BOOST_FIBERS_USE_ATOMCIS
2015-06-19 21:39:34 +02:00
Nat Goodspeed
050d974e5e
Merge branch 'develop' of github.com:olk/boost-fiber into develop
2015-06-14 21:14:42 -04:00
Nat Goodspeed
2946b35b0d
Fix minor Quickbook syntax error.
2015-06-14 21:14:02 -04:00
Oliver Kowalke
5f2c8e47d4
update documentation: using Windows Fiber API
2015-06-06 09:02:01 +02:00
Oliver Kowalke
ca7e8be37c
update docu
2015-05-23 18:27:08 +02:00
Nat Goodspeed
77a443b03b
Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev
2015-05-11 05:51:14 -04:00
Nat Goodspeed
2687814477
Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev
...
Resolved conflicts:
doc/condition_variables.qbk
examples/cpp03/migration/workstealing_round_robin.cpp
examples/cpp03/migration/workstealing_round_robin.hpp
include/boost/fiber/algorithm.hpp
include/boost/fiber/bounded_queue.hpp
include/boost/fiber/detail/fiber_base.hpp
include/boost/fiber/detail/fifo.hpp
include/boost/fiber/detail/waiting_queue.hpp
include/boost/fiber/detail/worker_fiber.hpp
include/boost/fiber/fiber.hpp
include/boost/fiber/fiber_manager.hpp
include/boost/fiber/fixedsize_stack.hpp
include/boost/fiber/operations.hpp
include/boost/fiber/round_robin.hpp
include/boost/fiber/unbounded_queue.hpp
src/detail/worker_fiber.cpp
src/fiber.cpp
src/fiber_manager.cpp
src/round_robin.cpp
2015-05-10 22:03:35 -04:00
Oliver Kowalke
e1bd9b8151
docu
2015-04-18 13:23:08 +02:00
Oliver Kowalke
266ae8dc4b
update docu
2015-02-19 19:07:46 +01:00
Oliver Kowalke
5756de290c
docu
2015-02-15 19:54:43 +01:00
Oliver Kowalke
3b9382f8df
update docu
2015-02-14 11:11:11 +01:00
Oliver Kowalke
13bf486fea
update stack-allocators
2015-02-06 18:29:26 +01:00
Oliver Kowalke
f6c7ab7826
rename (un)bounded_queue -> (un)bounded_channel + use allocator
2014-12-28 21:30:14 +01:00
Oliver Kowalke
2f19be6d67
use C++11
2014-12-27 19:07:42 +01:00
Oliver Kowalke
7fb469cd10
some fixes
2014-09-24 19:18:44 +02:00