Closed vohai611 closed 2 years ago
Well, it is kind of expected. This trajectory is equivalent to the one above:
p = trajectory() %>%
clone(
n = 2,
trajectory() %>%
renege_in(
t = 1, out = trajectory() %>%
synchronize(wait = FALSE) %>%
log_('leave')) %>%
timeout(5),
trajectory() %>%
timeout(3) %>%
synchronize(wait = FALSE) %>%
log_('leave')
)
Note what I did: I just replaced the join
s with the part they are copying. Removing the renege_in
, for better clarity:
p = trajectory() %>%
clone(
n = 2,
trajectory() %>%
timeout(1) %>%
synchronize(wait = FALSE) %>%
log_('leave'),
trajectory() %>%
timeout(3) %>%
synchronize(wait = FALSE) %>%
log_('leave')
)
In essence, there are two distinct synchronize
activities, and they are not aware of each other, so arrivals cannot be synchronized.
Oh I see. Thank you!
Let me explore the possibility of setting a global storage for sync activities. Otherwise, I see no way of reneging and synchronizing.
Created on 2022-03-04 by the reprex package (v2.0.1)
I expect that with wait=FALSE, only the first arrival can reach log_("leave"). Anyway, thank you guys for an amazing pacakges!