Nat Goodspeed
b51d78877c
Test that bounded_channel(n, n) throws an exception.
...
Given the documented behavior of bounded_channel(hwm, lwm), it follows that
bounded_channel(n, n) is invalid.
If the number of items in the channel == hwm, a push will block.
But if the number of items in the channel <= lwm, a push will succeed without
blocking.
Therefore, setting hwm == lwm results in a contradiction.
2015-08-15 11:12:34 -04:00
Nat Goodspeed
3e95946350
Add tests for bounded_channel::lower_bound().
...
We intend to document that bounded_channel(hwm) is equivalent to
bounded_channel(hwm, (hwm-1)). That may or may not simplify the code, but it
certainly simplifies the reader's mental model of the relationship between the
two constructors.
However, that assertion requires that for bounded_channel(hwm), lower_bound()
in fact return (hwm-1). Test for that.
Also use BOOST_CHECK_EQUAL(a, b) instead of BOOST_CHECK(a == b) where
applicable, since the former is more informative when the test fails.
Sadly, tests on channel_op_status must still use BOOST_CHECK(a == b) --
apparently because channel_op_status, as an enum class, cannot be streamed to
std::ostream?
2015-08-15 10:48:58 -04:00
Oliver Kowalke
7c25c83465
(un)bounded_channel: remove is_empty()/is_closed()/is_full()
2015-08-05 19:59:47 +02:00
Nat Goodspeed
b6f4fc8d42
test_try_push() should call try_push().
2015-08-05 07:51:49 -04:00
Oliver Kowalke
3b6f736a39
fixes for (un)bounded_channel
2015-08-04 19:30:31 +02:00
Oliver Kowalke
dbfde81013
enhance unit-test for bounded_channel
2015-08-04 17:19:26 +02:00
Oliver Kowalke
ba80101f47
enhance test for bounded_channel
...
- note implementation of waiting_queue does not preserve order
therefore unit test for bounded_channel fails
2015-08-03 17:33:04 +02:00
Oliver Kowalke
f456902492
add test for bounded_channel (basics)
2015-08-02 21:17:04 +02:00
Oliver Kowalke
3538208387
test_unbounded_channel: add test for moveable type
2015-08-02 21:16:40 +02:00
Oliver Kowalke
f275125b93
fixes for unbounded_channel
2015-08-02 20:48:52 +02:00
Oliver Kowalke
6a0b14e3e8
some mods for asnyc(some mods for asnyc())
2015-07-31 14:49:48 +02:00
Oliver Kowalke
81babd03be
tests: enable tests for shared_future<>
2015-07-31 12:12:36 +02:00
Oliver Kowalke
a9eb294f9d
mt mutext test: replace rref by generic lambda
2015-07-31 08:59:40 +02:00
Oliver Kowalke
cdcbbf09a7
unit-test with member-fn
2015-06-24 18:23:11 +02:00
Oliver Kowalke
9a27f6f363
fix unit-tests, check for C+11/14 features
2015-06-21 19:01:14 +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
Oliver Kowalke
2002dba9d3
enable/disable atomic<> with BOOST_FIBERS_THREADSAFE
2015-06-19 18:57:23 +02:00
Oliver Kowalke
f373348335
update Jamfiles.v2
2015-02-12 16:30:10 +01:00
Oliver Kowalke
fbe98be71e
std::copy_exception is deprecated (use std::make_exception_ptr)
2015-01-05 19:57:51 +01:00
Oliver Kowalke
3b332c17ee
variadric arguments
2015-01-01 14:40:39 +01:00
Oliver Kowalke
44326ebdd3
remove priority
2014-12-28 08:35:44 +01:00
Oliver Kowalke
7b3f18becd
improve test related to futures
2014-12-28 08:06:43 +01:00
Oliver Kowalke
2f19be6d67
use C++11
2014-12-27 19:07:42 +01:00
Oliver Kowalke
2d4a919faa
fix errors because of -pedantic
2014-08-23 14:20:01 +02:00
Oliver Kowalke
7ef6302f86
arbitrary clock::time_point conforming to chrono clock concept allowed
2014-07-08 17:41:59 +02:00
Oliver Kowalke
8df4a56564
use high_resolution_clock
2014-07-07 20:32:56 +02:00
Oliver Kowalke
a9f52d3007
add future<>::get_exception_ptr()
2014-06-29 14:13:33 +02:00
Oliver Kowalke
b936512136
remove mutex::scoped_lock by unique_lock< mutex >
2014-06-29 13:31:01 +02:00
Oliver Kowalke
cf90b40978
class fiber_group removed
2014-03-19 21:29:05 +01:00
Oliver Kowalke
9f7f74f662
use symmetric_coroutine<>::yield_type::operator()()
2014-03-15 19:16:13 +01:00
Oliver Kowalke
c197068680
reduce loop-count for multithreaded mutext-tests
2014-03-04 18:06:14 +01:00
Oliver Kowalke
67111d3e58
workstealing round-robin scheduler moved to examples
2014-03-04 18:01:42 +01:00
Oliver Kowalke
353cb27614
fix returning reference from temporary in sharred_state
2014-02-27 17:12:03 +01:00
Oliver Kowalke
a29d0be4d4
remove tests for unsupported features
2014-01-13 20:52:55 +01:00
Oliver Kowalke
2d082fb420
fix signature and behaviour of shared_future< R >::get()
2014-01-13 20:52:55 +01:00
Oliver Kowalke
bf08c5583d
change repate-count for futures-mt test
2013-12-29 22:16:48 +01:00
Oliver Kowalke
472992f61c
modified test_futures_mt
2013-12-29 21:36:05 +01:00
Oliver Kowalke
cda3b09042
add test for futures in mt-env
2013-12-29 11:33:31 +01:00
Oliver Kowalke
67ca128a8f
rename future_base to shared_state
2013-12-29 08:06:21 +01:00
Oliver Kowalke
5d27bb6454
add test waiting for future in other thread
2013-12-28 10:11:48 +01:00
Oliver Kowalke
dee8c72d2a
rename boost.strand to boost.fiber
2013-12-16 17:58:20 +01:00
Oliver Kowalke
511b740ec2
default-scheduler allocated
2013-12-02 19:45:48 +01:00
Oliver Kowalke
2e1fd67707
yield thief thread before work-stealing
2013-11-03 14:03:44 +01:00
Oliver Kowalke
436883ca33
add workstealing round_robin
2013-10-25 18:01:56 +02:00
Oliver Kowalke
5b6dc61b2f
update test_migration
2013-10-23 23:19:18 +02:00
Oliver Kowalke
c6718b1ee8
add fiber-migration between threads
2013-10-23 18:21:58 +02:00
Oliver Kowalke
8e04df986c
multithreaded condition_variable
2013-10-22 19:32:10 +02:00
Oliver Kowalke
3eafc0725f
thread-safe mutex'
2013-10-22 14:42:01 +02:00
Oliver Kowalke
ec8a11e60c
atomic fiber::state_
2013-10-17 19:21:26 +02:00