Skip to content

Commit 6c25fd5

Browse files
Remove coerceFuture(); not really needed
1 parent c578170 commit 6c25fd5

7 files changed

+13
-23
lines changed

NAMESPACE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ S3method(as.FutureGlobals,list)
99
S3method(as.character,FutureResult)
1010
S3method(as.raster,Mandelbrot)
1111
S3method(c,FutureGlobals)
12-
S3method(coerceFuture,FutureBackend)
1312
S3method(futures,environment)
1413
S3method(futures,list)
1514
S3method(futures,listenv)

R/backend_api-ClusterFutureBackend-class.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ ClusterFutureBackend <- function(workers = availableWorkers(), persistent = FALS
3333
stop_if_not(length(workers) > 0)
3434

3535
core <- FutureBackend(workers = workers, persistent = persistent, ...)
36-
core$futureClasses <- c("ClusterFuture", "Future")
36+
core[["futureClasses"]] <- c("ClusterFuture", core[["futureClasses"]])
3737
core <- structure(core, class = c("ClusterFutureBackend", "FutureBackend", class(core)))
3838
core
3939
}
@@ -53,7 +53,7 @@ launchFuture.ClusterFutureBackend <- function(backend, future, ...) {
5353
workers = backend[["workers"]]
5454
)
5555
future <- do.call(as_ClusterFuture, args = args)
56-
future <- coerceFuture(backend, future)
56+
class(future) <- backend[["futureClasses"]]
5757

5858
## Next available cluster node
5959
t_start <- Sys.time()
@@ -195,7 +195,7 @@ MultisessionFutureBackend <- function(workers = availableCores(), ...) {
195195
}
196196

197197
core <- ClusterFutureBackend(workers = workers, ...)
198-
core$futureClasses <- c("MultisessionFuture", core$futureClasses)
198+
core[["futureClasses"]] <- c("MultisessionFuture", core[["futureClasses"]])
199199
core <- structure(core, class = c("MultisessionFutureBackend", class(core)))
200200
core
201201
}

R/backend_api-FutureBackend-class.R

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,12 @@ FutureBackend <- function(...) {
1717
core[[name]] <- args[[name]]
1818
}
1919

20-
core$futureClasses <- c("FutureBackend")
20+
core[["futureClasses"]] <- c("FutureBackend")
2121
core <- structure(core, class = c("FutureBackend", class(core)))
22+
core
2223
}
2324

2425

25-
coerceFuture <- function(backend, future, ...) {
26-
UseMethod("coerceFuture")
27-
}
28-
29-
#' @export
30-
coerceFuture.FutureBackend <- function(backend, future, ...) {
31-
class(future) <- unique(c(backend$futureClasses, class(future)))
32-
future
33-
}
34-
3526

3627
#' `launchFuture()` launches a future on the backend.
3728
#'

R/backend_api-MulticoreFutureBackend-class.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ MulticoreFutureBackend <- function(workers = availableCores(constraints = "multi
2727
}
2828

2929
core <- FutureBackend(workers = workers, ...)
30-
core$futureClasses <- c("MulticoreFuture", "Future")
30+
core[["futureClasses"]] <- c("MulticoreFuture", core[["futureClasses"]])
3131
core <- structure(core, class = c("MulticoreFutureBackend", "FutureBackend", class(core)))
3232
core
3333
}
@@ -49,7 +49,7 @@ launchFuture.MulticoreFutureBackend <- function(backend, future, ...) {
4949

5050
mcparallel <- importParallel("mcparallel")
5151

52-
future <- coerceFuture(backend, future)
52+
class(future) <- backend[["futureClasses"]]
5353

5454
data <- getFutureData(future, debug = debug)
5555

R/backend_api-MultisessionFutureBackend-class.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ MultisessionFutureBackend <- function(workers = availableCores(), ...) {
2626
}
2727

2828
core <- ClusterFutureBackend(workers = workers, ...)
29-
core$futureClasses <- c("MultisessionFuture", core$futureClasses)
29+
core[["futureClasses"]] <- c("MultisessionFuture", core[["futureClasses"]])
3030
core <- structure(core, class = c("MultisessionFutureBackend", class(core)))
3131
core
3232
}

R/backend_api-SequentialFutureBackend-class.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#' @export
1111
SequentialFutureBackend <- function(...) {
1212
core <- FutureBackend(...)
13-
core$futureClasses <- c("SequentialFuture", "UniprocessFuture", core$futureClasses)
13+
core[["futureClasses"]] <- c("SequentialFuture", "UniprocessFuture", core[["futureClasses"]])
1414
core <- structure(core, class = c("SequentialFutureBackend", class(core)))
1515
core
1616
}
@@ -34,7 +34,7 @@ launchFuture.SequentialFutureBackend <- function(backend, future, ...) {
3434
## also the one that evaluates/resolves/queries it.
3535
assertOwner(future)
3636

37-
future <- coerceFuture(backend, future)
37+
class(future) <- backend[["futureClasses"]]
3838

3939
## Launch future
4040
future[["state"]] <- "running"
@@ -46,7 +46,7 @@ launchFuture.SequentialFutureBackend <- function(backend, future, ...) {
4646
split <- backend[["split"]]
4747
if (!is.null(split)) data$capture$split <- split
4848
earlySignal <- backend[["earlySignal"]]
49-
if (!is.null(earlySignal)) future$earlySignal <- earlySignal
49+
if (!is.null(earlySignal)) future[["earlySignal"]] <- earlySignal
5050

5151
future[["result"]] <- evalFuture(data)
5252

man/FutureBackend.Rd

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)