Introducing Observable.toFuture() extension method

This commit is contained in:
Shams Asari
2017-01-17 11:40:33 +00:00
parent 429fbb3b97
commit c4e3b258c7
10 changed files with 85 additions and 68 deletions

View File

@ -144,7 +144,7 @@ class NodeSchedulerService(private val database: Database,
Pair(earliestState, rescheduled!!)
}
if (scheduledState != null) {
schedulerTimerExecutor.execute() {
schedulerTimerExecutor.execute {
log.trace { "Scheduling as next $scheduledState" }
// This will block the scheduler single thread until the scheduled time (returns false) OR
// the Future is cancelled due to rescheduling (returns true).
@ -152,7 +152,7 @@ class NodeSchedulerService(private val database: Database,
log.trace { "Invoking as next $scheduledState" }
onTimeReached(scheduledState)
} else {
log.trace { "Recheduled $scheduledState" }
log.trace { "Rescheduled $scheduledState" }
}
}
}

View File

@ -1,11 +1,11 @@
package net.corda.node.services.persistence
import com.google.common.util.concurrent.SettableFuture
import net.corda.core.contracts.StateRef
import net.corda.core.contracts.TransactionType
import net.corda.core.crypto.DigitalSignature
import net.corda.core.crypto.NullPublicKey
import net.corda.core.crypto.SecureHash
import net.corda.core.toFuture
import net.corda.core.transactions.SignedTransaction
import net.corda.core.transactions.WireTransaction
import net.corda.core.utilities.DUMMY_NOTARY
@ -109,8 +109,7 @@ class DBTransactionStorageTests {
@Test
fun `updates are fired`() {
val future = SettableFuture.create<SignedTransaction>()
transactionStorage.updates.subscribe { tx -> future.set(tx) }
val future = transactionStorage.updates.toFuture()
val expected = newTransaction()
databaseTransaction(database) {
transactionStorage.addTransaction(expected)