bitcoin-s/api/org/bitcoins/testkit/async/TestAsyncUtil.html

9 lines
50 KiB
HTML
Raw Normal View History

<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title></title><meta content="" name="description"/><meta content="" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title"><span id="doc-version"></span></span> <span class="close-results"><span class="left">&lt;</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_" class="anchorToMember"></a><a id="root:_root_" class="anchorToMember"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.org" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="org" class="anchorToMember"></a><a id="org:org" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">org</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="org.bitcoins" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="bitcoins" class="anchorToMember"></a><a id="bitcoins:bitcoins" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">bitcoins</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="org" id="org" class="extype">org</a></dd></dl></div></li><li class="indented3 " name="org.bitcoins.testkit" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="testkit" class="anchorToMember"></a><a id="testkit:testkit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">testkit</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="org.bitcoins" id="org.bitcoins" class="extype">bitcoins</a></dd></dl></div></li><li class="indented4 " name="org.bitcoins.testkit.async" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="async" class="anchorToMember"></a><a id="async:async" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span c
is checked maxTries times, or overallTimeout is reached</p><div class="fullcomment"><div class="comment cmt"><p>Returns a future that resolved when the condition becomes true, the condition
is checked maxTries times, or overallTimeout is reached</p></div><dl class="paramcmts block"><dt class="param">condition</dt><dd class="cmt"><p>The blocking condition</p></dd><dt class="param">maxTries</dt><dd class="cmt"><p>If condition is tried this many times, an exception is thrown</p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../asyncutil/AsyncUtil.html" name="org.bitcoins.asyncutil.AsyncUtil" id="org.bitcoins.asyncutil.AsyncUtil" class="extype">AsyncUtil</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.asyncutil.AsyncUtil#awaitConditionF" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="awaitConditionF(conditionF:()=&gt;scala.concurrent.Future[Boolean],interval:scala.concurrent.duration.FiniteDuration,maxTries:Int)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[Unit]" class="anchorToMember"></a><a id="awaitConditionF(()=&gt;Future[Boolean],FiniteDuration,Int)(ExecutionContext):Future[Unit]" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil.html#awaitConditionF(conditionF:()=&gt;scala.concurrent.Future[Boolean],interval:scala.concurrent.duration.FiniteDuration,maxTries:Int)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[Unit]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">awaitConditionF</span><span class="params">(<span name="conditionF">conditionF: () =&gt; <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="https://www.scala-lang.org/api/2.13.8/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a>]</span>, <span name="interval">interval: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/duration/FiniteDuration.html#scala.concurrent.duration.FiniteDuration" name="scala.concurrent.duration.FiniteDuration" id="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</a> = <span class="symbol"><span class="name"><a href="../../asyncutil/AsyncUtil$.html">AsyncUtil.DEFAULT_INTERVAL</a></span></span></span>, <span name="maxTries">maxTries: <a href="https://www.scala-lang.org/api/2.13.8/scala/Int.html#scala.Int" name="scala.Int" id="scala.Int" class="extype">Int</a> = <span class="symbol"><span class="name"><a href="../../asyncutil/AsyncUtil$.html">DEFAULT_MAX_TRIES</a></span></span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="ec">ec: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/ExecutionContext.html#scala.concurrent.ExecutionContext" name="scala.concurrent.ExecutionContext" id="scala.concurrent.ExecutionContext" class="extype">ExecutionContext</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../asyncutil/AsyncUtil.html" name="org.bitcoins.asyncutil.AsyncUtil" id="org.bitcoins.asyncutil.AsyncUtil" class="extype">AsyncUtil</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object" class="anchorToMember"></a><a id="clone():AnyRef" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span cl
This is useful for simulating a non blocking Thread.sleep()
</p><div class="fullcomment"><div class="comment cmt"><p>Returns a future that completes after the given duration
This is useful for simulating a non blocking Thread.sleep()
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../asyncutil/AsyncUtil.html" name="org.bitcoins.asyncutil.AsyncUtil" id="org.bitcoins.asyncutil.AsyncUtil" class="extype">AsyncUtil</a><a href="../../core/api/asyncutil/AsyncUtilApi.html" name="org.bitcoins.core.api.asyncutil.AsyncUtilApi" id="org.bitcoins.core.api.asyncutil.AsyncUtilApi" class="extype">AsyncUtilApi</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil.html#notify():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notify</span><span class="params">()</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil.html#notifyAll():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notifyAll</span><span class="params">()</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.8/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="org.bitcoins.asyncutil.AsyncUtil#retryUntilSatisfied" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="retryUntilSatisfied(condition:=&gt;Boolean,interval:scala.concurrent.duration.FiniteDuration,maxTries:Int)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[Unit]" class="anchorToMember"></a><a id="retryUntilSatisfied(=&gt;Boolean,FiniteDuration,Int)(ExecutionContext):Future[Unit]" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil.html#retryUntilSatisfied(condition:=&gt;Boolean,interval:scala.concurrent.duration.FiniteDuration,maxTries:Int)(implicitec:scala.concurrent.ExecutionContext):scala.concurrent.Future[Unit]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">retryUntilSatisfied</span><span class="params">(<span name="condition">condition: =&gt; <a href="https://www.scala-lang.org/api/2.13.8/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span>, <span name="interval">interval: <a href="https://www.scala-lang.org/api/2.13.8/scala/concurrent/duration/FiniteDuration.html#scala.concurrent.duration.FiniteDuration" name="scala.concurrent.duration.FiniteDuration" id="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</a> = <span class="symbol"><span class="name"><a href="../../asyncutil/AsyncUtil$.html">AsyncUtil.DEFAULT_INTERVAL</a></span></span></span>, <span name="maxTries">maxTries: <a href="https://www.scala-lang.org/api/2.13.8/scala/Int.html#scala.Int" name="scala.Int" id="scala.Int" class="extype">Int</a> = <span class="symbol"><span class="name"><a href="../../asyncutil/Asy