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

16 lines
51 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
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/
TestAsyncUtil methods are being called from tests and as such, we want to trim the stack
trace to exclude stack elements that occur before the beginning of a test.</p><div class="fullcomment"><div class="comment cmt"><p>As opposed to the AsyncUtil in the rpc project, in the testkit, we can assume that
TestAsyncUtil methods are being called from tests and as such, we want to trim the stack
trace to exclude stack elements that occur before the beginning of a test.
Additionally, we want to transform RpcRetryExceptions to TestFailedExceptions which
conveniently mention the line that called the TestAsyncUtil method.
</p></div></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil$.html#wait():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">wait</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">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit" class="anchorToMember"></a><a id="wait(Long,Int):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil$.html#wait(x$1:Long,x$2:Int):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">wait</span><span class="params">(<span name="arg0">arg0: <a href="https://www.scala-lang.org/api/2.13.8/scala/Long.html#scala.Long" name="scala.Long" id="scala.Long" class="extype">Long</a></span>, <span name="arg1">arg1: <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>)</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">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit" class="anchorToMember"></a><a id="wait(Long):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../../org/bitcoins/testkit/async/TestAsyncUtil$.html#wait(x$1:Long):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">wait</span><span class="params">(<span name="arg0">arg0: <a href="https://www.scala-lang.org/api/2.13.8/scala/Long.html#scala.Long" name="scala.Long" id="scala.Long" class="extype">Long</a></span>)</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">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="org.bitcoins.testkit.async.TestAsyncUtil" class="parent"><h3>Inherited from <a href="TestAsyncUtil.html" name="org.bitcoins.testkit.async.TestAsyncUtil" id="org.bitcoins.testkit.async.TestAsyncUtil" class="extype">TestAsyncUtil</a></h3></div><div name="java.io.Serializable" class="parent"><h3>Inherited from <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java/io/Serializable.html#java.io.Serializable" na