2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-20 14:42:21 +00:00
Commit Graph

1312 Commits

Author SHA1 Message Date
Nat Goodspeed
eaf592f0e5 Remove references to multiple threads, yield_hop and migration.
Also use curly apostrophes throughout.
2016-04-30 10:16:47 -04:00
Nat Goodspeed
ba171ee066 Fix the expansion of __run_service__ to abbreviated run_svc() name.
Also make __io_service__ expand to a link to Asio documentation.
2016-04-30 10:14:46 -04:00
Nat Goodspeed
b1fe17d264 Make boost::asio::io_service a link in 'support for Boost.Asio'. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
fd96f095e5 Bundled [^...] template works better than my [`...] with embedded link. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
0508706572 Use new [s] and [t] templates to produce curly apostrophes. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
f4bc10e331 Add [,] template for curly apostrophe.
Also add [s] and [t] templates so we can write it[s] rather than it[,]s and
isn[t] rather than isn[,]t.

Remove extraneous spaces from inline template definitions: the spaces were
considered part of the template expansion! This was causing odd spacing where
those templates were used.
2016-04-30 10:10:32 -04:00
Oliver Kowalke
1f6fad626f Merge pull request #82 from nat-goodspeed/asio_doc
Describe updated Fiber / Asio round_robin integration.
2016-04-30 07:26:27 +02:00
Nat Goodspeed
3f7d9623f7 Merge branch 'asio_doc' of github.com:nat-goodspeed/boost-fiber into asio_doc 2016-04-29 18:00:34 -04:00
Nat Goodspeed
8f59f54dff Add documentation for launch_policy.
Add fiber() and async() overloads accepting launch_policy.

Now that we have launch_policy documentation, cross-link it where it's
mentioned in integration.qbk.
2016-04-29 17:58:49 -04:00
Nat Goodspeed
a783ec1356 caught typo 2016-04-29 16:49:10 -04:00
Nat Goodspeed
88f5f06fed Describe updated Fiber / Asio round_robin integration. 2016-04-29 16:26:01 -04:00
Nat Goodspeed
a0a72a1eb0 Use sections rather than headings to add table-of-contents entries. 2016-04-29 16:25:02 -04:00
Oliver Kowalke
c73bbe60de Merge pull request #81 from nat-goodspeed/always_set_timer
Make round_robin::suspend_until() always set asio timer.
2016-04-29 19:15:27 +02:00
Nat Goodspeed
56a3e7a92e Make round_robin::suspend_until() always set asio timer.
This gives notify() something to cancel if need be.

Avoid resetting the timer to the same abs_time, though.
2016-04-29 09:05:20 -04:00
Oliver Kowalke
66268aeacf fix skynet performance-test 2016-04-28 20:36:47 +02:00
Oliver Kowalke
2dbea898d4 introduction of launch_policies dispatch and post
- dispatch: execute new fiber immediately, suspend current fiber
- post: enqueue new fiber in ready-queue, continue executing current
fiber
2016-04-28 20:35:26 +02:00
oliver Kowalke
d09eb503b8 example asio/autoecho: run server-fiber detached 2016-04-28 08:15:40 +02:00
oliver Kowalke
d53d0e8d99 example asio: remove counter_ in asio/round_robin 2016-04-28 07:50:11 +02:00
Oliver Kowalke
f91c0bb3aa example asio: remove run_svc() 2016-04-27 19:54:52 +02:00
Oliver Kowalke
b2ba1459fa example asio/round_robin: adjust namespaces 2016-04-27 19:47:30 +02:00
Oliver Kowalke
aa95b98aac example autoecho: adjust output 2016-04-27 19:34:54 +02:00
Oliver Kowalke
1f13073372 example autoecho: call io_service::stop() in echo-server
- echo-server has to call io_service::stop() if it was signaled
  to stop accepting new connections
2016-04-27 19:33:11 +02:00
Oliver Kowalke
a1638ad92c example autoecho: stop acceptor
- call acceptor::stop() in the alst echo-client in order to stop
  acceptor
2016-04-27 19:30:39 +02:00
Oliver Kowalke
8681668213 rename example autoecho 2016-04-27 19:14:48 +02:00
oliver Kowalke
e8f3641ae6 remove shared-ready-queue from asio/round_robin 2016-04-26 14:35:30 +02:00
oliver Kowalke
52da1e907e pass dispatcher-context as arg to resume()
- use standard way how a context is suspended and pushed to
  ready-queue for dispatcher-fiber
2016-04-26 09:01:59 +02:00
Oliver Kowalke
e29082cea1 remove example asio/echo, make autoecho single threaded 2016-04-25 19:08:07 +02:00
oliver Kowalke
59692a6016 destroy callable/args on stack before set_termianted() is called
- the callable and its arguments before set_teminated() is called
- otherwise a copy of the callable remains on fiber's stack and
  will never destructed
2016-04-25 15:29:37 +02:00
oliver Kowalke
768ca27f1a example work_stealing: use std::deque<> as ready-queue 2016-04-25 10:30:33 +02:00
oliver Kowalke
5218f46350 remove unecessary argument in scheduler::suspend() 2016-04-25 10:29:44 +02:00
Oliver Kowalke
16f4324422 example autoecho: start all fibers in main thread first 2016-04-24 18:36:28 +02:00
Oliver Kowalke
19ad46c9a2 make example echo single threaded 2016-04-24 18:36:14 +02:00
Oliver Kowalke
01db63c816 at scheduler destruction join dispatcher fiber 2016-04-21 17:46:09 +02:00
oliver Kowalke
2fd3383dc6 start dispatcher-context in dtor of scheduler 2016-04-20 09:58:34 +02:00
Oliver Kowalke
57267ec957 remove support for fiber interruption 2016-04-19 18:16:31 +02:00
oliver Kowalke
5027d3526f impl. remote-ready-queue with std::vector<> 2016-04-18 12:52:48 +02:00
Oliver Kowalke
f3f5634846 call scheduling_algorithm::notify() scheduer terminats 2016-04-17 19:46:10 +02:00
Oliver Kowalke
8d80a4503c pass to correct scheduler 2016-04-15 22:54:45 +02:00
oliver Kowalke
f7d151ac86 do not interrupt() fibers at scheduler destruction
- the user is responsible that all worker fibers terminate
- dispatcher fiber must run till all worker fiber are terminated and
  the the scheduler is shut down
- flag shutdown is set in ~scheduler before resuming the ready fibers
- the ready fibers must contain at least the dispatcher fiber
2016-04-14 09:14:50 +02:00
oliver Kowalke
0a911f4ab5 some modifications for autoecho example 2016-04-14 09:14:20 +02:00
oliver Kowalke
cd24224008 change asio examples regarding to run_svc() 2016-04-12 08:39:25 +02:00
oliver Kowalke
76127cc268 asio example: scheduler must not move lambda
- the lambda posted inside iasio::rond_robin will be shared by different
  threads running io_service::run()
- the lambda must remain/executed by the thread
- re-introduction of run_svc() method
2016-04-12 08:31:49 +02:00
oliver Kowalke
171b2be879 assert in autoecho aexample
- assert if context, that has to be migrated, is equal to active context
  because that should never be possible
2016-04-11 08:21:34 +02:00
oliver Kowalke
5e3999cc5d access correct context in killing worker-fibers 2016-04-08 14:17:59 +02:00
oliver Kowalke
45af3585db migrate context: scheduler must be different 2016-04-08 14:02:32 +02:00
Oliver Kowalke
918f450027 Merge pull request #80 from nat-goodspeed/hopless
Remove 'yield_hop' and the whole allow_hop_ mechanism.
2016-04-06 19:03:13 +02:00
Nat Goodspeed
9b3559dd49 Remove 'yield_hop' and the whole allow_hop_ mechanism.
Given the necessity for fibers::asio::round_robin to share its ready queue
among all threads calling io_service::run() on the same io_service instance,
the capability to allow hop (or not) in the fibers::asio::yield mechanism is
redundant.
2016-04-06 12:17:35 -04:00
Nat Goodspeed
f13c24bd66 Launch client fibers on alternate thread. 2016-04-06 12:17:34 -04:00
Oliver Kowalke
f724e43105 Merge pull request #79 from nat-goodspeed/develop
Add examples/asio/autoecho.cpp to drive echo client/server automatically.
2016-04-06 08:04:25 +02:00
Nat Goodspeed
d39b9e7c80 Merge branch 'develop' of http://github.com/olk/boost-fiber into develop 2016-04-05 21:19:07 -04:00