|
2 | 2 |
|
3 | 3 | #### New Architecture
|
4 | 4 |
|
5 |
| -* Distributed computing now uses a single socket and URL at which all daemons connect (with or without dispatcher), allowing a more efficient `tcp://` or `tls+tcp://` connection in all cases (instead of websockets). |
6 |
| -* The number of connected daemons may be upscaled or downscaled at any time without limit. |
| 5 | +* Distributed computing now uses a single socket and URL at which all daemons connect (with or without dispatcher). |
| 6 | + + Allows a more efficient `tcp://` or `tls+tcp://` connection in all cases. |
| 7 | + + The number of connected daemons may be upscaled or downscaled at any time without limit. |
7 | 8 |
|
8 | 9 | #### New Features
|
9 | 10 |
|
10 | 11 | * `daemons(dispatcher = TRUE)` provides a new and more efficient architecture for dispatcher. This argument reverts to a logical value, although 'process' is still accepted and retains the previous behaviour of the v1 dispatcher.
|
11 |
| -* `daemons()` gains argument 'serial' to register serial configurations when using dispatcher. These automatically apply to all daemons that connect. |
| 12 | +* `daemons()` gains argument 'serial' to register serialization configurations when using dispatcher. These automatically apply to all daemons that connect. |
12 | 13 | * `stop_mirai()` is now able to cancel remote mirai tasks (when using dispatcher), returning a logical value indicating whether cancellation was successful.
|
13 | 14 | * A 'miraiError' now preserves the original condition object. This means that `rlang::abort()` custom metadata may now be accessed using `$` on the 'miraiError' (thanks @James-G-Hill #173).
|
14 | 15 |
|
15 | 16 | #### Updates
|
16 | 17 |
|
17 |
| -* `status()` using the new dispatcher is updated to provide more concise information. |
| 18 | +* `status()` using the new dispatcher is updated to provide more concise and insightful information. |
| 19 | +* `everywhere()` updates: |
| 20 | + + Enhanced to return a list of mirai, which may be waited for and inspected (thanks @dgkf #164). |
| 21 | + + Drops argument '.serial' as serialization configurations are now registered via an argument at `daemons()`. |
| 22 | +* `daemon()` updates: |
| 23 | + + Gains the new argument 'dispatcher', which should be set to `TRUE` when connecting to dispatcher and `FALSE` when connecting directly to host. |
| 24 | + + Gains argument 'id' which accepts an integer value that allows `status()` to track connection and disconnection events. |
| 25 | + + '...' has been moved up to prevent partial matching on any of the optional arguments. |
| 26 | + + 'cleanup' argument simplified to a TRUE/FALSE value. |
| 27 | + + 'timerstart' argument removed. |
| 28 | +* `launch_local()` and `launch_remote()` updates: |
| 29 | + + Enhanced to now launch daemons with the originally-supplied arguments by default. |
| 30 | + + Simplified to take the argument 'n' instead of 'url' for how many daemons to launch. |
| 31 | + + `launch_local()` now returns the number of daemons launched rather than invisible NULL. |
18 | 32 | * `collect_mirai()` is now interruptible and takes a '...' argument accepting the collection options provided to the 'mirai_map' `[]` method, such as `.flat` etc.
|
19 |
| -* `everywhere()` now returns a list of mirai, which may be waited for and inspected (thanks @dgkf #164). |
20 |
| -* `everywhere()` drops argument '.serial' as serialization configurations are now registered via an argument at `daemons()`. |
21 |
| -* `launch_local()` and `launch_remote()` simplified to take the argument 'n' instead of 'url' for how many daemons to launch. |
22 |
| -* `launch_local()` and `launch_remote()` now launch daemons with the originally-supplied arguments by default. |
23 |
| -* `launch_local()` now returns the number of daemons launched rather than invisible NULL. |
24 |
| -* `ssh_config()` simplified to take the argument 'port' instead of 'host'. For SSH tunnelling, this is the port that will be used, and the hostname is now required to be '127.0.0.1' (no longer accepting 'localhost'). |
25 |
| -* `daemon()` gains the new argument 'dispatcher', which should be set to `TRUE` when connecting to dispatcher and `FALSE` when connecting directly to host. |
26 |
| -* `daemon()` '...' argument has been moved up to prevent partial matching on any of the optional arguments. |
27 |
| -* `daemon()` gains argument 'id' which accept an integer value that allows `status()` to track connection and disconnection events. |
| 33 | +* `ssh_config()` simplified to take the argument 'port' instead of 'host'. For SSH tunnelling, this is the port that will be used, and the hostname is now required to be '127.0.0.1' (no longer accepting 'localhost'). |
28 | 34 | * `host_url()` argument 'ws' is removed as a TCP URL is now always recommended (although websocket URLs are still supported).
|
29 | 35 | * `saisei()` is defunct as no longer required, but still available for use with the old v1 dispatcher.
|
30 | 36 | * `daemons(dispatcher = "thread")` (experimental threaded dispatcher) has been retired - as this was based on the old dispatcher architecture and future development will focus on the current design. Specifying 'dispatcher = thread' is defunct, but will point to 'dispatcher = process' for the time being.
|
|
0 commit comments