|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
5 | | - - `Async::Notification#signal` now returns `true` if a task was signaled, `false` otherwise, providing better feedback for notification operations. |
| 5 | + - `Async::Notification#signal` now returns `true` if a task was signaled, `false` otherwise, providing better feedback for notification operations. |
6 | 6 |
|
7 | | -### Async::Barrier Improvements |
| 7 | +### `Async::Barrier` Improvements |
8 | 8 |
|
9 | 9 | `Async::Barrier` now provides more flexible and predictable behavior for waiting on task completion: |
10 | 10 |
|
|
43 | 43 |
|
44 | 44 | This makes `Async::Barrier` a superset of `Async::Waiter` functionality, providing more flexible task coordination patterns. |
45 | 45 |
|
46 | | -### Queue Closing Functionality |
| 46 | +### Introduce `Async::Queue#close` |
47 | 47 |
|
48 | | -`Async::Queue` and `Async::LimitedQueue` now support closing, which provides better resource management and error handling: |
| 48 | +`Async::Queue` and `Async::LimitedQueue` can now be closed, which provides better resource management and error handling: |
49 | 49 |
|
50 | 50 | - **New `close` method**: Both queue types now have a `close` method that prevents further items from being added and signals any waiting tasks. |
51 | 51 | - **Consistent error handling**: All queue modification methods (`push`, `enqueue`, `<<`) now raise `Async::Queue::ClosedError` when called on a closed queue. |
|
106 | 106 |
|
107 | 107 | ### Flexible Timeouts |
108 | 108 |
|
109 | | -When {ruby Async::Scheduler\#with\_timeout} is invoked with a block, it can receive a {ruby Async::Timeout} instance. This allows you to adjust or cancel the timeout while the block is executing. This is useful for long-running tasks that may need to adjust their timeout based on external factors. |
| 109 | +When `Async::Scheduler#with_timeout` is invoked with a block, it can receive a `Async::Timeout` instance. This allows you to adjust or cancel the timeout while the block is executing. This is useful for long-running tasks that may need to adjust their timeout based on external factors. |
110 | 110 |
|
111 | 111 | ``` ruby |
112 | 112 | Async do |
@@ -180,7 +180,7 @@ To take advantage of this feature, you will need to introduce your own `config/t |
180 | 180 |
|
181 | 181 | ## v2.19.0 |
182 | 182 |
|
183 | | -### Async::Scheduler Debugging |
| 183 | +### `Async::Scheduler` Debugging |
184 | 184 |
|
185 | 185 | Occasionally on issues, I encounter people asking for help and I need more information. Pressing Ctrl-C to exit a hung program is common, but it usually doesn't provide enough information to diagnose the problem. Setting the `CONSOLE_LEVEL=debug` environment variable will now print additional information about the scheduler when you interrupt it, including a backtrace of the current tasks. |
186 | 186 |
|
|
0 commit comments