Regen docsite

This commit is contained in:
Mike Hearn 2016-08-01 13:16:47 +02:00
parent d08ab24c42
commit 1081e8d2ce
177 changed files with 4215 additions and 506 deletions

View File

@ -0,0 +1,64 @@
Platform contracts
==================
There are a number of contracts supplied with Corda, which cover both core functionality (such as cash on ledger) and
provide examples of how to model complex contracts (such as interest rate swaps). There is also a ``Dummy`` contract.
However it does not provide any meaningful functionality, and is intended purely for testing purposes.
Cash
----
The ``Cash`` contract's state objects represent an amount of some issued currency, owned by some party. Any currency
can be issued by any party, and it is up to the recipient to determine whether they trust the issuer. Generally nodes
are expected to have criteria (such as a whitelist) that issuers must fulfil for cash they issue to be accepted.
Cash state objects implement the ``FungibleAsset`` interface, and can be used by the commercial paper and obligation
contracts as part of settlement of an outstanding debt. The contracts' verification functions require that cash state
objects of the correct value are received by the beneficiary as part of the settlement transaction.
The cash contract supports issuing, moving and exiting (destroying) states. Note, however, that issuance cannot be part
of the same transaction as other cash commands, in order to minimise complexity in balance verification.
Commercial Paper
----------------
``CommercialPaper`` is a very simple obligation to pay an amount of cash at some future point in time (the maturity
date), and exists primarily as a simplified contract for use in tutorials. Commercial paper supports issuing, moving
and redeeming (settling) states. Unlike the full obligation contract it does not support locking the state so it cannot
be settled if the obligor defaults on payment, or netting of state objects. All commands are exclusive of the other
commercial paper commands. Use the ``Obligation`` contract for more advanced functionality.
Interest Rate Swap
------------------
The Interest Rate Swap (IRS) contract is a bilateral contract to implement a vanilla fixed / floating same currency
interest rate swap. In general, an IRS allows two counterparties to modify their exposure from changes in the underlying
interest rate. They are often used as a hedging instrument, convert a fixed rate loan to a floating rate loan, vice
versa etc.
See ":doc:`contract-irs`" for full details on the IRS contract.
Obligation
----------
The obligation contract's state objects represent an obligation to provide some asset, which would generally be a
cash state object, but can be any contract state object fulfilling the ``FungibleAsset`` interface, including other
obligations. The obligation contract uses objects referred to as ``Terms`` to group commands and state objects together.
Terms are a subset of an obligation state object, including details of what should be paid, when, and to whom.
Obligation state objects can be issued, moved and exited as with any fungible asset. The contract also supports state
object netting and lifecycle changes (marking the obligation that a state object represents as having defaulted, or
reverting it to the normal state after marking as having defaulted). The ``Net`` command cannot be included with any
other obligation commands in the same transaction, as it applies to state objects with different beneficiaries, and
as such applies across multiple terms.
All other obligation contract commands specify obligation terms (what is to be delivered, by whom and by when)
which are used as a grouping key for input/output states and commands. Issuance and lifecyle commands are mutually
exclusive of other commands (move/exit) which apply to the same obligation terms, but multiple commands can be present
in a single transaction if they apply to different terms. For example, a contract can have two different ``Issue``
commands as long as they apply to different terms, but could not have an ``Issue`` and a ``Net``, or an ``Issue`` and
``Move`` that apply to the same terms.
Netting of obligations supports close-out netting (which can be triggered by either obligor or beneficiary, but is
limited to bilateral netting), and payment netting (which requires signatures from all involved parties, but supports
multilateral netting).

View File

@ -1,5 +1,5 @@
The Interest Rate Swap Contract
===============================
Interest Rate Swaps
===================
The Interest Rate Swap (IRS) Contract (source: IRS.kt, IRSUtils.kt, IRSExport.kt) is a bilateral contract to implement a
@ -16,7 +16,7 @@ upon an amount that is not actually exchanged but notionally used for the calcul
amount), and a rate that is either fixed at the creation of the swap (for the fixed leg), or based upon a reference rate
that is retrieved during the swap (for the floating leg). An example reference rate might be something such as 'LIBOR 3M'.
The fixed leg has its rate computed and set in advance, where as the floating leg has a fixing process whereas the rate
The fixed leg has its rate computed and set in advance, whereas the floating leg has a fixing process whereas the rate
for the next period is fixed with relation to a reference rate. Then, a calculation is performed such that the interest
due over that period multiplied by the notional is paid (normally at the end of the period). If these two legs have the
same payment date, then these flows can be offset against each other (in reality there are normally a number of these
@ -33,7 +33,7 @@ the view of the floating leg receiver / fixed leg payer. The enumerated document
it progresses (note that, the first version exists before the value date), the dots on the "y=0" represent an interest
rate value becoming available and then the curved arrow indicates to which period the fixing applies.
.. image:: irs.png
.. image:: contract-irs.png
Two days (by convention, although this can be modified), before the value date (ie the start of the swap) in the red
period the reference rate is observed from an oracle and fixed in the instance at 1.1%. At the end of the accrual period,

View File

@ -31,7 +31,13 @@ Read on to learn:
messaging
running-the-demos
node-administration
irs
.. toctree::
:maxdepth: 2
:caption: Contracts
contract-catalogue
contract-irs
.. toctree::
:maxdepth: 2

View File

@ -3,11 +3,63 @@ Release notes
Here are brief summaries of what's changed between each snapshot release.
Unreleased
----------
Milestone 2
-----------
* Big improvements to the interest rate swap app:
* A new web app demonstrating the IRS contract has been added. This can be used as an example for how to interact with
the Corda API from the web.
* Simplifications to the way the demo is used from the command line.
* :doc:`Detailed documentation on how the contract works and can be used <contract-irs>` has been written.
* Better integration testing of the app.
* Smart contracts have been redesigned around reusable components, referred to as "clauses". The cash, commercial paper
and obligation contracts now share a common issue clause.
* New code in the experimental module (note that this module is a place for work-in-progress code which has not yet gone
through code review and which may, in general, not even function correctly):
* Thanks to the prolific Sofus Mortensen @ Nordea Bank, an experimental generic contract DSL that is based on the famous
2001 "Composing contracts" paper has been added. We thank Sofus for this great and promising research, which is so
relevant in the wake of TheDAO hack.
* The contract code from the recent trade finance demos is now in experimental. This code comes thanks to a
collaboration of the members; all credit to:
* Mustafa Ozturk @ Natixis
* David Nee @ US Bank
* Johannes Albertsen @ Dankse Bank
* Rui Hu @ Nordea
* Daniele Barreca @ Unicredit
* Sukrit Handa @ Scotiabank
* Giuseppe Cardone @ Banco Intesa
* Robert Santiago @ BBVA
* The usability of the command line demo programs has been improved.
* All example code and existing contracts have been ported to use the new Java/Kotlin unit testing domain-specific
languages (DSLs) which make it easy to construct chains of transactions and verify them together. This cleans up
and unifies the previous ad-hoc set of similar DSLs. A tutorial on how to use it has been added to the documentation.
We believe this largely completes our testing story for now around smart contracts. Feedback from bank developers
during the Trade Finance project has indicated that the next thing to tackle is docs and usability improvements in
the protocols API.
* Significant work done towards defining the "CorDapp" concept in code, with dynamic loading of API services and more to
come.
* Inter-node communication now uses SSL/TLS and AMQP/1.0, albeit without all nodes self-signing at the moment. A real
PKI for the p2p network will come later.
* Logging is now saved to files with log rotation provided by Log4J.
API changes:
* Some utility methods and extension functions that are specific to certain contract types have moved packages: just
delete the import lines that no longer work and let IntelliJ replace them with the correct package paths.
* The ``arg`` method in the test DSL is now called ``command`` to be consistent with the rest of the data model.
* The messaging APIs have changed somewhat to now use a new ``TopicSession`` object. These APIs will continue to change
in the upcoming releases.
New documentation:
* :doc:`contract-catalogue`
* :doc:`contract-irs`
* :doc:`tutorial-test-dsl`
Milestone 1
-----------

View File

@ -439,10 +439,8 @@ to extend a Corda node with additional application services.</p>
</tr>
<tr>
<td>
<a href="../com.r3corda.node.services.persistence/-data-vending-service/index.html">com.r3corda.node.services.persistence.DataVendingService</a></td>
<a href="../com.r3corda.node.services.persistence/-data-vending/index.html">com.r3corda.node.services.persistence.DataVending</a></td>
<td>
<p>This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple
glue that sits between the network layer and the database layer.</p>
</td>
</tr>
<tr>
@ -695,7 +693,7 @@ Assumes that the rate is valid.</p>
</tr>
<tr>
<td>
<a href="../com.r3corda.node.services/-fixing-session-initiation-handler/index.html">com.r3corda.node.services.FixingSessionInitiationHandler</a></td>
<a href="../com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html">com.r3corda.node.services.clientapi.FixingSessionInitiation</a></td>
<td>
<p>This is a temporary handler required for establishing random sessionIDs for the <a href="#">Fixer</a> and <a href="#">Floater</a> as part of
running scheduled fixings for the <a href="#">InterestRateSwap</a> contract.</p>
@ -1096,7 +1094,7 @@ specific messages can be defined, but use your domain name as the prefix e.g. "u
</tr>
<tr>
<td>
<a href="../com.r3corda.core.messaging/-messaging-service-builder/index.html">com.r3corda.core.messaging.MessagingServiceBuilder</a></td>
<a href="../com.r3corda.node.services.api/-messaging-service-builder/index.html">com.r3corda.node.services.api.MessagingServiceBuilder</a></td>
<td>
<p>This class lets you start up a <a href="../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a>. Its purpose is to stop you from getting access to the methods
on the messaging service interface until you have successfully started up the system. One of these objects should
@ -1106,6 +1104,12 @@ may let you cast the returned future to an object that lets you get status info.
</tr>
<tr>
<td>
<a href="../com.r3corda.node.services.api/-messaging-service-internal/index.html">com.r3corda.node.services.api.MessagingServiceInternal</a></td>
<td>
</td>
</tr>
<tr>
<td>
<a href="../com.r3corda.core.serialization/-missing-attachments-exception/index.html">com.r3corda.core.serialization.MissingAttachmentsException</a></td>
<td>
<p>Thrown during deserialisation to indicate that an attachment needed to construct the <a href="../com.r3corda.core.contracts/-wire-transaction/index.html">WireTransaction</a> is not found</p>
@ -1371,18 +1375,16 @@ trying to construct the set.</p>
</tr>
<tr>
<td>
<a href="../com.r3corda.protocols/-notary-change-protocol/index.html">com.r3corda.protocols.NotaryChangeProtocol</a></td>
<a href="../com.r3corda.node.services/-notary-change/index.html">com.r3corda.node.services.NotaryChange</a></td>
<td>
<p>A protocol to be used for changing a states Notary. This is required since all input states to a transaction
must point to the same notary.</p>
</td>
</tr>
<tr>
<td>
<a href="../com.r3corda.node.services/-notary-change-service/index.html">com.r3corda.node.services.NotaryChangeService</a></td>
<a href="../com.r3corda.protocols/-notary-change-protocol/index.html">com.r3corda.protocols.NotaryChangeProtocol</a></td>
<td>
<p>A service that monitors the network for requests for changing the notary of a state,
and immediately runs the <a href="../com.r3corda.protocols/-notary-change-protocol/index.html">NotaryChangeProtocol</a> if the auto-accept criteria are met.</p>
<p>A protocol to be used for changing a states Notary. This is required since all input states to a transaction
must point to the same notary.</p>
</td>
</tr>
<tr>
@ -2064,6 +2066,13 @@ public keys are identified in the containing <a href="../com.r3corda.core.contra
</tr>
<tr>
<td>
<a href="../com.r3corda.core.messaging/-topic-session/index.html">com.r3corda.core.messaging.TopicSession</a></td>
<td>
<p>An identifier for the endpoint <a href="../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> message handlers listen at.</p>
</td>
</tr>
<tr>
<td>
<a href="../com.r3corda.core.messaging/-topic-string-validator/index.html">com.r3corda.core.messaging.TopicStringValidator</a></td>
<td>
<p>A singleton thats useful for validating topic strings</p>

View File

@ -42,9 +42,9 @@ the timestamp field they probably will be, even if an implementation just uses a
</tr>
<tr>
<td>
<a href="topic.html">topic</a></td>
<a href="topic-session.html">topicSession</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">topic</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">topicSession</span><span class="symbol">: </span><a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a></code></td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>Message.topicSession - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">Message</a>&nbsp;/&nbsp;<a href=".">topicSession</a><br/>
<br/>
<h1>topicSession</h1>
<a name="com.r3corda.core.messaging.Message$topicSession"></a>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">topicSession</span><span class="symbol">: </span><a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -7,10 +7,10 @@
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">MessagingService</a>&nbsp;/&nbsp;<a href=".">addMessageHandler</a><br/>
<br/>
<h1>addMessageHandler</h1>
<a name="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><br/>
<a name="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><br/>
<p>The provided function will be invoked for each received message whose topic matches the given string, on the given
executor. The topic can be the empty string to match all messages.</p>
executor.</p>
<p>If no executor is received then the callback will run on threads provided by the messaging service, and the
callback is expected to be thread safe as a result.</p>
<p>The returned object is an opaque handle that may be used to un-register handlers later with <a href="remove-message-handler.html">removeMessageHandler</a>.
@ -18,6 +18,30 @@ The handle is passed to the callback as well, to avoid race conditions whereby t
itself and yet addMessageHandler hasnt returned the handle yet.</p>
<br/>
<br/>
<h3>Parameters</h3>
<a name="topic"></a>
<code>topic</code> - identifier for the general subject of the message, for example "platform.network_map.fetch".
The topic can be the empty string to match all messages (session ID must be <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>).<br/>
<br/>
<a name="sessionID"></a>
<code>sessionID</code> - identifier for the session the message is part of. For services listening before
a session is established, use <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>.<br/>
<br/>
<br/>
<a name="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><br/>
<p>The provided function will be invoked for each received message whose topic and session matches, on the
given executor.</p>
<p>If no executor is received then the callback will run on threads provided by the messaging service, and the
callback is expected to be thread safe as a result.</p>
<p>The returned object is an opaque handle that may be used to un-register handlers later with <a href="remove-message-handler.html">removeMessageHandler</a>.
The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister
itself and yet addMessageHandler hasnt returned the handle yet.</p>
<br/>
<br/>
<h3>Parameters</h3>
<a name="topicSession"></a>
<code>topicSession</code> - identifier for the topic and session to listen for messages arriving on.<br/>
<br/>
<br/>
</BODY>

View File

@ -7,9 +7,25 @@
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">MessagingService</a>&nbsp;/&nbsp;<a href=".">createMessage</a><br/>
<br/>
<h1>createMessage</h1>
<a name="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.ByteArray)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.ByteArray)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><br/>
<a name="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><br/>
<p>Returns an initialised <a href="../-message/index.html">Message</a> with the current time, etc, already filled in.</p>
<h3>Parameters</h3>
<a name="topic"></a>
<code>topic</code> - identifier for the general subject of the message, for example "platform.network_map.fetch".
Must not be blank.<br/>
<br/>
<a name="sessionID"></a>
<code>sessionID</code> - identifier for the session the message is part of. For messages sent to services before the
construction of a session, use <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>.<br/>
<br/>
<br/>
<a name="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><br/>
<p>Returns an initialised <a href="../-message/index.html">Message</a> with the current time, etc, already filled in.</p>
<h3>Parameters</h3>
<a name="topicSession"></a>
<code>topicSession</code> - identifier for the topic and session the message is sent to.<br/>
<br/>
<br/>
</BODY>

View File

@ -37,15 +37,18 @@ is <emph>reliable</emph> and as such messages may be stored to disk once queued.
<td>
<a href="add-message-handler.html">addMessageHandler</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><p>The provided function will be invoked for each received message whose topic matches the given string, on the given
executor. The topic can be the empty string to match all messages.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><p>The provided function will be invoked for each received message whose topic matches the given string, on the given
executor.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><p>The provided function will be invoked for each received message whose topic and session matches, on the
given executor.</p>
</td>
</tr>
<tr>
<td>
<a href="create-message.html">createMessage</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.ByteArray)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><p>Returns an initialised <a href="../-message/index.html">Message</a> with the current time, etc, already filled in.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><br/>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-message/index.html"><span class="identifier">Message</span></a></code><p>Returns an initialised <a href="../-message/index.html">Message</a> with the current time, etc, already filled in.</p>
</td>
</tr>
<tr>
@ -66,12 +69,6 @@ available via type casting. Once this function returns the message is queued for
delivered: if the recipients are offline then the message could be queued hours or days later.</p>
</td>
</tr>
<tr>
<td>
<a href="stop.html">stop</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
<h3>Extension Functions</h3>
@ -81,16 +78,21 @@ delivered: if the recipients are offline then the message could be queued hours
<td>
<a href="../run-on-next-message.html">runOnNextMessage</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic that runs the given callback with the message and then removes itself. This
is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt
take the registration object, unlike the callback to <a href="add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session ID that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="add-message-handler.html">MessagingService.addMessageHandler</a>, as the handler is
automatically deregistered before the callback runs.</p>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
</td>
</tr>
<tr>
<td>
<a href="../send.html">send</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<code><span class="keyword">fun </span><span class="identifier">MessagingService</span><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
@ -99,22 +101,9 @@ take the registration object, unlike the callback to <a href="add-message-handle
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.services.messaging/-artemis-messaging-service/index.html">ArtemisMessagingService</a></td>
<a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html">MessagingServiceInternal</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">ArtemisMessagingService</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a><span class="symbol">, </span><span class="identifier">MessagingService</span></code><p>This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product.
Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate
with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0
as well for interop.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a></td>
<td>
<code><span class="keyword">inner</span> <span class="keyword">class </span><span class="identifier">InMemoryMessaging</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a><span class="symbol">, </span><span class="identifier">MessagingService</span></code><p>An <a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> provides a MessagingService that isnt backed by any kind of network or disk storage
system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience
when all entities on the network are being simulated in-process.</p>
</td>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceInternal</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">MessagingService</span></code></td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>TopicSession.Blank - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">Blank</a><br/>
<br/>
<h1>Blank</h1>
<a name="com.r3corda.core.messaging.TopicSession.Companion$Blank"></a>
<code><span class="keyword">val </span><span class="identifier">Blank</span><span class="symbol">: </span><a href="index.html"><span class="identifier">TopicSession</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,23 @@
<HTML>
<HEAD>
<title>TopicSession.<init> - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">TopicSession</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.TopicSession$<init>(kotlin.String, kotlin.Long)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.TopicSession$<init>(kotlin.String, kotlin.Long)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">)</span></code><br/>
<p>An identifier for the endpoint <a href="../-messaging-service/index.html">MessagingService</a> message handlers listen at.</p>
<h3>Parameters</h3>
<a name="topic"></a>
<code>topic</code> - identifier for the general subject of the message, for example "platform.network_map.fetch".
The topic can be the empty string to match all messages (session ID must be <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>).<br/>
<br/>
<a name="sessionID"></a>
<code>sessionID</code> - identifier for the session the message is part of. For services listening before
a session is established, use <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>.<br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,80 @@
<HTML>
<HEAD>
<title>TopicSession - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href=".">TopicSession</a><br/>
<br/>
<h1>TopicSession</h1>
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">TopicSession</span></code><br/>
<p>An identifier for the endpoint <a href="../-messaging-service/index.html">MessagingService</a> message handlers listen at.</p>
<h3>Parameters</h3>
<a name="topic"></a>
<code>topic</code> - identifier for the general subject of the message, for example "platform.network_map.fetch".
The topic can be the empty string to match all messages (session ID must be <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>).<br/>
<br/>
<a name="sessionID"></a>
<code>sessionID</code> - identifier for the session the message is part of. For services listening before
a session is established, use <a href="../../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>.<br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">TopicSession</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.TopicSession$<init>(kotlin.String, kotlin.Long)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.TopicSession$<init>(kotlin.String, kotlin.Long)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">)</span></code><p>An identifier for the endpoint <a href="../-messaging-service/index.html">MessagingService</a> message handlers listen at.</p>
</td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="session-i-d.html">sessionID</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">sessionID</span><span class="symbol">: </span><span class="identifier">Long</span></code></td>
</tr>
<tr>
<td>
<a href="topic.html">topic</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">topic</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
</tr>
</tbody>
</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="is-blank.html">isBlank</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">isBlank</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
</tr>
<tr>
<td>
<a href="to-string.html">toString</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
</tr>
</tbody>
</table>
<h3>Companion Object Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="-blank.html">Blank</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">Blank</span><span class="symbol">: </span><span class="identifier">TopicSession</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>TopicSession.isBlank - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">isBlank</a><br/>
<br/>
<h1>isBlank</h1>
<a name="com.r3corda.core.messaging.TopicSession$isBlank()"></a>
<code><span class="keyword">fun </span><span class="identifier">isBlank</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>TopicSession.sessionID - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">sessionID</a><br/>
<br/>
<h1>sessionID</h1>
<a name="com.r3corda.core.messaging.TopicSession$sessionID"></a>
<code><span class="keyword">val </span><span class="identifier">sessionID</span><span class="symbol">: </span><span class="identifier">Long</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>TopicSession.toString - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">toString</a><br/>
<br/>
<h1>toString</h1>
<a name="com.r3corda.core.messaging.TopicSession$toString()"></a>
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>TopicSession.topic - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href="index.html">TopicSession</a>&nbsp;/&nbsp;<a href=".">topic</a><br/>
<br/>
<h1>topic</h1>
<a name="com.r3corda.core.messaging.TopicSession$topic"></a>
<code><span class="keyword">val </span><span class="identifier">topic</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -63,19 +63,16 @@ specific messages can be defined, but use your domain name as the prefix e.g. "u
</tr>
<tr>
<td>
<a href="-messaging-service-builder/index.html">MessagingServiceBuilder</a></td>
<a href="-single-message-recipient.html">SingleMessageRecipient</a></td>
<td>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceBuilder</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">&gt;</span></code><p>This class lets you start up a <a href="-messaging-service/index.html">MessagingService</a>. Its purpose is to stop you from getting access to the methods
on the messaging service interface until you have successfully started up the system. One of these objects should
be the only way to obtain a reference to a <a href="-messaging-service/index.html">MessagingService</a>. Startup may be a slow process: some implementations
may let you cast the returned future to an object that lets you get status info.</p>
<code><span class="keyword">interface </span><span class="identifier">SingleMessageRecipient</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a></code><p>A base class for the case of point-to-point messages</p>
</td>
</tr>
<tr>
<td>
<a href="-single-message-recipient.html">SingleMessageRecipient</a></td>
<a href="-topic-session/index.html">TopicSession</a></td>
<td>
<code><span class="keyword">interface </span><span class="identifier">SingleMessageRecipient</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a></code><p>A base class for the case of point-to-point messages</p>
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">TopicSession</span></code><p>An identifier for the endpoint <a href="-messaging-service/index.html">MessagingService</a> message handlers listen at.</p>
</td>
</tr>
<tr>
@ -94,16 +91,21 @@ may let you cast the returned future to an object that lets you get status info.
<td>
<a href="run-on-next-message.html">runOnNextMessage</a></td>
<td>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic that runs the given callback with the message and then removes itself. This
is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt
take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session ID that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>, as the handler is
automatically deregistered before the callback runs.</p>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
</td>
</tr>
<tr>
<td>
<a href="send.html">send</a></td>
<td>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>

View File

@ -7,11 +7,30 @@
<a href="index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href=".">runOnNextMessage</a><br/>
<br/>
<h1>runOnNextMessage</h1>
<a name="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<p>Registers a handler for the given topic that runs the given callback with the message and then removes itself. This
is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt
take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
<a name="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<p>Registers a handler for the given topic and session ID that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>, as the handler is
automatically deregistered before the callback runs.</p>
<h3>Parameters</h3>
<a name="topic"></a>
<code>topic</code> - identifier for the general subject of the message, for example "platform.network_map.fetch".
The topic can be the empty string to match all messages (session ID must be <a href="../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>).<br/>
<br/>
<a name="sessionID"></a>
<code>sessionID</code> - identifier for the session the message is part of. For services listening before
a session is established, use <a href="../com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a>.<br/>
<br/>
<br/>
<a name="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<p>Registers a handler for the given topic and session that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
<h3>Parameters</h3>
<a name="topicSession"></a>
<code>topicSession</code> - identifier for the topic and session to listen for messages arriving on.<br/>
<br/>
<br/>
</BODY>

View File

@ -7,8 +7,10 @@
<a href="index.html">com.r3corda.core.messaging</a>&nbsp;/&nbsp;<a href=".">send</a><br/>
<br/>
<h1>send</h1>
<a name="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<a name="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<a name="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)"></a>
<code><span class="keyword">fun </span><a href="-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>

View File

@ -0,0 +1,17 @@
<HTML>
<HEAD>
<title>DEFAULT_SESSION_ID - </title>
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
<a href="index.html">com.r3corda.core.node.services</a>&nbsp;/&nbsp;<a href=".">DEFAULT_SESSION_ID</a><br/>
<br/>
<h1>DEFAULT_SESSION_ID</h1>
<a name="com.r3corda.core.node.services$DEFAULT_SESSION_ID"></a>
<code><span class="keyword">val </span><span class="identifier">DEFAULT_SESSION_ID</span><span class="symbol">: </span><span class="identifier">Long</span></code><br/>
<p>Session ID to use for services listening for the first message in a session (before a
specific session ID has been established).</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -150,9 +150,10 @@ consumed by someone else first</p>
<tbody>
<tr>
<td>
<a href="-t-o-p-i-c_-d-e-f-a-u-l-t_-p-o-s-t-f-i-x.html">TOPIC_DEFAULT_POSTFIX</a></td>
<a href="-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html">DEFAULT_SESSION_ID</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">TOPIC_DEFAULT_POSTFIX</span><span class="symbol">: </span><span class="identifier">String</span></code><p>Postfix for base topics when sending a request to a service.</p>
<code><span class="keyword">val </span><span class="identifier">DEFAULT_SESSION_ID</span><span class="symbol">: </span><span class="identifier">Long</span></code><p>Session ID to use for services listening for the first message in a session (before a
specific session ID has been established).</p>
</td>
</tr>
</tbody>

View File

@ -0,0 +1,16 @@
<HTML>
<HEAD>
<title>CordaPluginRegistry.<init> - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.node</a>&nbsp;/&nbsp;<a href="index.html">CordaPluginRegistry</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">CordaPluginRegistry</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<p>Implement this interface on a class advertised in a META-INF/services/com.r3corda.core.node.CordaPluginRegistry file
to extend a Corda node with additional application services.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -7,11 +7,24 @@
<a href="../index.html">com.r3corda.core.node</a>&nbsp;/&nbsp;<a href=".">CordaPluginRegistry</a><br/>
<br/>
<h1>CordaPluginRegistry</h1>
<code><span class="keyword">interface </span><span class="identifier">CordaPluginRegistry</span></code><br/>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">CordaPluginRegistry</span></code><br/>
<p>Implement this interface on a class advertised in a META-INF/services/com.r3corda.core.node.CordaPluginRegistry file
to extend a Corda node with additional application services.</p>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">CordaPluginRegistry</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Implement this interface on a class advertised in a META-INF/services/com.r3corda.core.node.CordaPluginRegistry file
to extend a Corda node with additional application services.</p>
</td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
@ -19,7 +32,7 @@ to extend a Corda node with additional application services.</p>
<td>
<a href="required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
@ -28,11 +41,30 @@ This is used to extend the white listed protocols that can be initiated from the
</tr>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
<tr>
<td>
<a href="static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because they will be instantiated inside an AttachmentClassLoader so that subsequent protocols, contracts, etc
will be running in the appropriate isolated context.</p>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
@ -42,16 +74,52 @@ will be running in the appropriate isolated context.</p>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.services.clientapi/-node-interest-rates/-service/-fixing-service-plugin/index.html">FixingServicePlugin</a></td>
<a href="../../com.r3corda.demos/-i-r-s-demo-plugin-registry/index.html">IRSDemoPluginRegistry</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">FixingServicePlugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code><p>Register the protocol that is used with the Fixing integration tests.</p>
<code><span class="keyword">class </span><span class="identifier">IRSDemoPluginRegistry</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.clientapi/-fixing-session-initiation/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.clientapi/-node-interest-rates/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code><p>Register the protocol that is used with the Fixing integration tests.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.demos/-i-r-s-demo-plugin-registry/index.html">IRSDemoPluginRegistry</a></td>
<a href="../../com.r3corda.node.services/-notary-change/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">IRSDemoPluginRegistry</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.persistence/-data-vending/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.demos.protocols/-auto-offer-protocol/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.demos.protocols/-exit-server-protocol/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.demos.protocols/-update-business-day-protocol/-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">CordaPluginRegistry</span></code></td>
</tr>
</tbody>
</table>

View File

@ -8,7 +8,7 @@
<br/>
<h1>requiredProtocols</h1>
<a name="com.r3corda.core.node.CordaPluginRegistry$requiredProtocols"></a>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
<p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.

View File

@ -0,0 +1,19 @@
<HTML>
<HEAD>
<title>CordaPluginRegistry.servicePlugins - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.node</a>&nbsp;/&nbsp;<a href="index.html">CordaPluginRegistry</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.core.node.CordaPluginRegistry$servicePlugins"></a>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,18 @@
<HTML>
<HEAD>
<title>CordaPluginRegistry.staticServeDirs - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.core.node</a>&nbsp;/&nbsp;<a href="index.html">CordaPluginRegistry</a>&nbsp;/&nbsp;<a href=".">staticServeDirs</a><br/>
<br/>
<h1>staticServeDirs</h1>
<a name="com.r3corda.core.node.CordaPluginRegistry$staticServeDirs"></a>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><br/>
<p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -8,10 +8,10 @@
<br/>
<h1>webApis</h1>
<a name="com.r3corda.core.node.CordaPluginRegistry$webApis"></a>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
<p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because they will be instantiated inside an AttachmentClassLoader so that subsequent protocols, contracts, etc
will be running in the appropriate isolated context.</p>
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
<br/>
<br/>
</BODY>

View File

@ -31,7 +31,7 @@ file paths.</p>
<td>
<a href="-corda-plugin-registry/index.html">CordaPluginRegistry</a></td>
<td>
<code><span class="keyword">interface </span><span class="identifier">CordaPluginRegistry</span></code><p>Implement this interface on a class advertised in a META-INF/services/com.r3corda.core.node.CordaPluginRegistry file
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">CordaPluginRegistry</span></code><p>Implement this interface on a class advertised in a META-INF/services/com.r3corda.core.node.CordaPluginRegistry file
to extend a Corda node with additional application services.</p>
</td>
</tr>

View File

@ -41,6 +41,14 @@ to indicate which instance the token is a serialized form of.</p>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.internal/-abstract-node/index.html">AbstractNode</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNode</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span></code><p>A base node implementation that can be customised either for production (with real implementations that do real
I/O), or a mock implementation suitable for unit test environments.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.api/-abstract-node-service/index.html">AbstractNodeService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNodeService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span></code><p>Abstract superclass for services that a node can host, which provides helper functions.</p>
@ -50,7 +58,7 @@ to indicate which instance the token is a serialized form of.</p>
<td>
<a href="../../com.r3corda.node.services.messaging/-artemis-messaging-service/index.html">ArtemisMessagingService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">ArtemisMessagingService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span><span class="symbol">, </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><p>This class implements the <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> API using Apache Artemis, the successor to their ActiveMQ product.
<code><span class="keyword">class </span><span class="identifier">ArtemisMessagingService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span><span class="symbol">, </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><p>This class implements the <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> API using Apache Artemis, the successor to their ActiveMQ product.
Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate
with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0
as well for interop.</p>
@ -74,7 +82,7 @@ as well for interop.</p>
<td>
<a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a></td>
<td>
<code><span class="keyword">inner</span> <span class="keyword">class </span><span class="identifier">InMemoryMessaging</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span><span class="symbol">, </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><p>An <a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> provides a <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> that isnt backed by any kind of network or disk storage
<code><span class="keyword">inner</span> <span class="keyword">class </span><span class="identifier">InMemoryMessaging</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span><span class="symbol">, </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><p>An <a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> provides a <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> that isnt backed by any kind of network or disk storage
system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience
when all entities on the network are being simulated in-process.</p>
</td>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>CHARLIE - </title>
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
<a href="index.html">com.r3corda.core.testing</a>&nbsp;/&nbsp;<a href=".">CHARLIE</a><br/>
<br/>
<h1>CHARLIE</h1>
<a name="com.r3corda.core.testing$CHARLIE"></a>
<code><span class="keyword">val </span><span class="identifier">CHARLIE</span><span class="symbol">: </span><a href="../com.r3corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>CHARLIE_KEY - </title>
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
<a href="index.html">com.r3corda.core.testing</a>&nbsp;/&nbsp;<a href=".">CHARLIE_KEY</a><br/>
<br/>
<h1>CHARLIE_KEY</h1>
<a name="com.r3corda.core.testing$CHARLIE_KEY"></a>
<code><span class="keyword">val </span><span class="identifier">CHARLIE_KEY</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>CHARLIE_PUBKEY - </title>
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
<a href="index.html">com.r3corda.core.testing</a>&nbsp;/&nbsp;<a href=".">CHARLIE_PUBKEY</a><br/>
<br/>
<h1>CHARLIE_PUBKEY</h1>
<a name="com.r3corda.core.testing$CHARLIE_PUBKEY"></a>
<code><span class="keyword">val </span><span class="identifier">CHARLIE_PUBKEY</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -166,6 +166,24 @@ that transactions corresponding to input states are not verified. Use <a href="#
</tr>
<tr>
<td>
<a href="-c-h-a-r-l-i-e.html">CHARLIE</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">CHARLIE</span><span class="symbol">: </span><a href="../com.r3corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></code></td>
</tr>
<tr>
<td>
<a href="-c-h-a-r-l-i-e_-k-e-y.html">CHARLIE_KEY</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">CHARLIE_KEY</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></code></td>
</tr>
<tr>
<td>
<a href="-c-h-a-r-l-i-e_-p-u-b-k-e-y.html">CHARLIE_PUBKEY</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">CHARLIE_PUBKEY</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code></td>
</tr>
<tr>
<td>
<a href="-d-u-m-m-y_-k-e-y_1.html">DUMMY_KEY_1</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">DUMMY_KEY_1</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></code></td>

View File

@ -86,7 +86,7 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.demos.protocols/-auto-offer-protocol/-handler/-d-e-a-l-i-n-g/index.html">DEALING</a></td>
<a href="../../../com.r3corda.demos.protocols/-auto-offer-protocol/-service/-d-e-a-l-i-n-g/index.html">DEALING</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">DEALING</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Step</span></code></td>
</tr>
@ -140,7 +140,7 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.demos.protocols/-auto-offer-protocol/-handler/-r-e-c-e-i-v-e-d.html">RECEIVED</a></td>
<a href="../../../com.r3corda.demos.protocols/-auto-offer-protocol/-service/-r-e-c-e-i-v-e-d.html">RECEIVED</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">RECEIVED</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Step</span></code></td>
</tr>

View File

@ -8,7 +8,7 @@
<br/>
<h1>logElapsedTime</h1>
<a name="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))"></a>
<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">logElapsedTime</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/label">label</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/logger">logger</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/body">body</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></code><br/>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">logElapsedTime</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/label">label</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/logger">logger</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((com.r3corda.core.logElapsedTime.T)))/body">body</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></code><br/>
<br/>
<br/>
</BODY>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Plugin.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,74 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Plugin - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href=".">Plugin</a><br/>
<br/>
<h1>Plugin</h1>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,20 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Plugin.servicePlugins - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Plugin$servicePlugins"></a>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">CordaPluginRegistry.servicePlugins</a><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -120,8 +120,8 @@ access this lazily or from inside <a href="../../../com.r3corda.core.protocols/-
<td>
<a href="../../../com.r3corda.core.protocols/-protocol-logic/receive.html">receive</a></td>
<td>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">receive</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-untrustworthy-data/index.html"><span class="identifier">UntrustworthyData</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><br/>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">receive</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long, java.lang.Class((com.r3corda.core.protocols.ProtocolLogic.receive.T)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long, java.lang.Class((com.r3corda.core.protocols.ProtocolLogic.receive.T)))/receiveType">receiveType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-untrustworthy-data/index.html"><span class="identifier">UntrustworthyData</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">receive</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long, java.lang.Class((com.r3corda.core.protocols.ProtocolLogic.receive.T)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long, java.lang.Class((com.r3corda.core.protocols.ProtocolLogic.receive.T)))/receiveType">receiveType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-untrustworthy-data/index.html"><span class="identifier">UntrustworthyData</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><br/>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">receive</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.protocols.ProtocolLogic$receive(kotlin.Long)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-untrustworthy-data/index.html"><span class="identifier">UntrustworthyData</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.Callback.<init> - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href="index.html">Callback</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Callback</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$<init>(kotlin.Function1((com.r3corda.core.contracts.SignedTransaction, kotlin.Unit)))/success">success</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,53 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.Callback - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href=".">Callback</a><br/>
<br/>
<h1>Callback</h1>
<code><span class="keyword">class </span><span class="identifier">Callback</span></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Callback</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$<init>(kotlin.Function1((com.r3corda.core.contracts.SignedTransaction, kotlin.Unit)))/success">success</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="success.html">success</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">success</span><span class="symbol">: </span><span class="symbol">(</span><a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="on-failure.html">onFailure</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">onFailure</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onFailure(kotlin.Throwable)/t">t</span><span class="symbol">:</span>&nbsp;<span class="identifier">Throwable</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
<tr>
<td>
<a href="on-success.html">onSuccess</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">onSuccess</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onSuccess(com.r3corda.core.contracts.SignedTransaction)/st">st</span><span class="symbol">:</span>&nbsp;<a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.Callback.onFailure - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href="index.html">Callback</a>&nbsp;/&nbsp;<a href=".">onFailure</a><br/>
<br/>
<h1>onFailure</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onFailure(kotlin.Throwable)"></a>
<code><span class="keyword">fun </span><span class="identifier">onFailure</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onFailure(kotlin.Throwable)/t">t</span><span class="symbol">:</span>&nbsp;<span class="identifier">Throwable</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.Callback.onSuccess - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href="index.html">Callback</a>&nbsp;/&nbsp;<a href=".">onSuccess</a><br/>
<br/>
<h1>onSuccess</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onSuccess(com.r3corda.core.contracts.SignedTransaction)"></a>
<code><span class="keyword">fun </span><span class="identifier">onSuccess</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$onSuccess(com.r3corda.core.contracts.SignedTransaction)/st">st</span><span class="symbol">:</span>&nbsp;<a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.Callback.success - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href="index.html">Callback</a>&nbsp;/&nbsp;<a href=".">success</a><br/>
<br/>
<h1>success</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Service.Callback$success"></a>
<code><span class="keyword">val </span><span class="identifier">success</span><span class="symbol">: </span><span class="symbol">(</span><a href="../../../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,16 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.DEALING.childProgressTracker - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href="index.html">DEALING</a>&nbsp;/&nbsp;<a href=".">childProgressTracker</a><br/>
<br/>
<h1>childProgressTracker</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Service.DEALING$childProgressTracker()"></a>
<code><span class="keyword">fun </span><span class="identifier">childProgressTracker</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../../com.r3corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a></code><br/>
Overrides <a href="../../../../com.r3corda.core.utilities/-progress-tracker/-step/child-progress-tracker.html">Step.childProgressTracker</a><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,42 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.DEALING - </title>
<link rel="stylesheet" href="../../../../style.css">
</HEAD>
<BODY>
<a href="../../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="../index.html">Service</a>&nbsp;/&nbsp;<a href=".">DEALING</a><br/>
<br/>
<h1>DEALING</h1>
<code><span class="keyword">object </span><span class="identifier">DEALING</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../../com.r3corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></code><br/>
<br/>
<br/>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../../com.r3corda.core.utilities/-progress-tracker/-step/changes.html">changes</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">changes</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="../../../../com.r3corda.core.utilities/-progress-tracker/-change/index.html"><span class="identifier">Change</span></a><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="../../../../com.r3corda.core.utilities/-progress-tracker/-step/label.html">label</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">label</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
</tr>
</tbody>
</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="child-progress-tracker.html">childProgressTracker</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">childProgressTracker</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../../com.r3corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,42 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.RECEIVED - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">RECEIVED</a><br/>
<br/>
<h1>RECEIVED</h1>
<code><span class="keyword">object </span><span class="identifier">RECEIVED</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></code><br/>
<br/>
<br/>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/changes.html">changes</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">changes</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="../../../com.r3corda.core.utilities/-progress-tracker/-change/index.html"><span class="identifier">Change</span></a><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/label.html">label</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">label</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
</tr>
</tbody>
</table>
<h3>Inherited Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/child-progress-tracker.html">childProgressTracker</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">childProgressTracker</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a><span class="symbol">?</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,59 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href=".">Service</a><br/>
<br/>
<h1>Service</h1>
<code><span class="keyword">class </span><span class="identifier">Service</span></code><br/>
<br/>
<br/>
<h3>Types</h3>
<table>
<tbody>
<tr>
<td>
<a href="-callback/index.html">Callback</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Callback</span></code></td>
</tr>
<tr>
<td>
<a href="-d-e-a-l-i-n-g/index.html">DEALING</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">DEALING</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></code></td>
</tr>
<tr>
<td>
<a href="-r-e-c-e-i-v-e-d.html">RECEIVED</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">RECEIVED</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></code></td>
</tr>
</tbody>
</table>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.AutoOfferProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="tracker.html">tracker</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">tracker</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AutoOfferProtocol.Service.tracker - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">AutoOfferProtocol</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">tracker</a><br/>
<br/>
<h1>tracker</h1>
<a name="com.r3corda.demos.protocols.AutoOfferProtocol.Service$tracker()"></a>
<code><span class="keyword">fun </span><span class="identifier">tracker</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -27,9 +27,9 @@ or the protocol would have to reach out to external systems (or users) to verify
</tr>
<tr>
<td>
<a href="-handler/index.html">Handler</a></td>
<a href="-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">Handler</span></code></td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code></td>
</tr>
<tr>
<td>
@ -37,6 +37,12 @@ or the protocol would have to reach out to external systems (or users) to verify
<td>
<code><span class="keyword">class </span><span class="identifier">Requester</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.protocols/-protocol-logic/index.html"><span class="identifier">ProtocolLogic</span></a><span class="symbol">&lt;</span><a href="../../com.r3corda.core.contracts/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>ExitServerProtocol.Plugin.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">ExitServerProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,74 @@
<HTML>
<HEAD>
<title>ExitServerProtocol.Plugin - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">ExitServerProtocol</a>&nbsp;/&nbsp;<a href=".">Plugin</a><br/>
<br/>
<h1>Plugin</h1>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,20 @@
<HTML>
<HEAD>
<title>ExitServerProtocol.Plugin.servicePlugins - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">ExitServerProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.demos.protocols.ExitServerProtocol.Plugin$servicePlugins"></a>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">CordaPluginRegistry.servicePlugins</a><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>ExitServerProtocol.Service.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">ExitServerProtocol</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.ExitServerProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,25 @@
<HTML>
<HEAD>
<title>ExitServerProtocol.Service - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">ExitServerProtocol</a>&nbsp;/&nbsp;<a href=".">Service</a><br/>
<br/>
<h1>Service</h1>
<code><span class="keyword">class </span><span class="identifier">Service</span></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.ExitServerProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -29,9 +29,15 @@ we do not support coercing numeric types in the reflective search for matching c
</tr>
<tr>
<td>
<a href="-handler/index.html">Handler</a></td>
<a href="-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">Handler</span></code></td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code></td>
</tr>
<tr>
<td>
<a href="-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span></code></td>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>UpdateBusinessDayProtocol.Plugin.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">UpdateBusinessDayProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,74 @@
<HTML>
<HEAD>
<title>UpdateBusinessDayProtocol.Plugin - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">UpdateBusinessDayProtocol</a>&nbsp;/&nbsp;<a href=".">Plugin</a><br/>
<br/>
<h1>Plugin</h1>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,20 @@
<HTML>
<HEAD>
<title>UpdateBusinessDayProtocol.Plugin.servicePlugins - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">UpdateBusinessDayProtocol</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.demos.protocols.UpdateBusinessDayProtocol.Plugin$servicePlugins"></a>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">CordaPluginRegistry.servicePlugins</a><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>UpdateBusinessDayProtocol.Service.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">UpdateBusinessDayProtocol</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.UpdateBusinessDayProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,25 @@
<HTML>
<HEAD>
<title>UpdateBusinessDayProtocol.Service - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.demos.protocols</a>&nbsp;/&nbsp;<a href="../index.html">UpdateBusinessDayProtocol</a>&nbsp;/&nbsp;<a href=".">Service</a><br/>
<br/>
<h1>Service</h1>
<code><span class="keyword">class </span><span class="identifier">Service</span></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.demos.protocols.UpdateBusinessDayProtocol.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -22,9 +22,15 @@
</tr>
<tr>
<td>
<a href="-handler/index.html">Handler</a></td>
<a href="-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">Handler</span></code></td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code></td>
</tr>
<tr>
<td>
<a href="-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span></code></td>
</tr>
<tr>
<td>

View File

@ -37,11 +37,35 @@ This is used to extend the white listed protocols that can be initiated from the
</tr>
<tr>
<td>
<a href="static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because they will be instantiated inside an AttachmentClassLoader so that subsequent protocols, contracts, etc
will be running in the appropriate isolated context.</p>
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>

View File

@ -0,0 +1,19 @@
<HTML>
<HEAD>
<title>IRSDemoPluginRegistry.staticServeDirs - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.demos</a>&nbsp;/&nbsp;<a href="index.html">IRSDemoPluginRegistry</a>&nbsp;/&nbsp;<a href=".">staticServeDirs</a><br/>
<br/>
<h1>staticServeDirs</h1>
<a name="com.r3corda.demos.IRSDemoPluginRegistry$staticServeDirs"></a>
<code><span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">CordaPluginRegistry.staticServeDirs</a><br/>
<p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -11,8 +11,8 @@
<code><span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">CordaPluginRegistry.webApis</a><br/>
<p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because they will be instantiated inside an AttachmentClassLoader so that subsequent protocols, contracts, etc
will be running in the appropriate isolated context.</p>
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
<br/>
<br/>
</BODY>

View File

@ -97,6 +97,12 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/custom-services.html">customServices</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">customServices</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/dir.html">dir</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">dir</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a></code></td>
@ -127,12 +133,6 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/interest-rates-service.html">interestRatesService</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">interestRatesService</span><span class="symbol">: </span><a href="../../../com.r3corda.node.services.clientapi/-node-interest-rates/-service/index.html"><span class="identifier">Service</span></a></code></td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/is-previous-checkpoints-present.html">isPreviousCheckpointsPresent</a></td>
<td>
<code><span class="keyword">var </span><span class="identifier">isPreviousCheckpointsPresent</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
@ -147,7 +147,13 @@
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/net.html">net</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/net-map-cache.html">netMapCache</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="../../../com.r3corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></code></td>
</tr>
<tr>
<td>
@ -257,7 +263,7 @@
<td>
<a href="make-messaging-service.html">makeMessagingService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
@ -297,6 +303,13 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/find-service.html">findService</a></td>
<td>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">findService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><p>Locates and returns a service of the given type if loaded, or throws an exception if not found.</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/initialise-storage-service.html">initialiseStorageService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">initialiseStorageService</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$initialiseStorageService(java.nio.file.Path)/dir">dir</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="../../../com.r3corda.core.node.services/-tx-writable-storage-service/index.html"><span class="identifier">TxWritableStorageService</span></a><span class="symbol">,</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-checkpoint-storage/index.html"><span class="identifier">CheckpointStorage</span></a><span class="symbol">&gt;</span></code></td>
@ -309,12 +322,6 @@
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/make-interest-rates-oracle-service.html">makeInterestRatesOracleService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeInterestRatesOracleService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.node.internal/-abstract-node/make-network-map-service.html">makeNetworkMapService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeNetworkMapService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>

View File

@ -8,7 +8,7 @@
<br/>
<h1>makeMessagingService</h1>
<a name="com.r3corda.node.internal.testing.MockNetwork.MockNode$makeMessagingService()"></a>
<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><br/>
<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><br/>
Overrides <a href="../../../com.r3corda.node.internal/-abstract-node/make-messaging-service.html">AbstractNode.makeMessagingService</a><br/>
<br/>
<br/>

View File

@ -92,7 +92,7 @@
<td>
<a href="../../-mock-network/-mock-node/make-messaging-service.html">makeMessagingService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>

View File

@ -10,6 +10,10 @@
<code><span class="identifier">AbstractNode</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$<init>(java.nio.file.Path, com.r3corda.node.services.config.NodeConfiguration, com.r3corda.core.node.NodeInfo, kotlin.collections.Set((com.r3corda.core.node.services.ServiceType)), java.time.Clock)/dir">dir</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$<init>(java.nio.file.Path, com.r3corda.node.services.config.NodeConfiguration, com.r3corda.core.node.NodeInfo, kotlin.collections.Set((com.r3corda.core.node.services.ServiceType)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$<init>(java.nio.file.Path, com.r3corda.node.services.config.NodeConfiguration, com.r3corda.core.node.NodeInfo, kotlin.collections.Set((com.r3corda.core.node.services.ServiceType)), java.time.Clock)/networkMapService">networkMapService</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$<init>(java.nio.file.Path, com.r3corda.node.services.config.NodeConfiguration, com.r3corda.core.node.NodeInfo, kotlin.collections.Set((com.r3corda.core.node.services.ServiceType)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="../../com.r3corda.core.node.services/-service-type/index.html"><span class="identifier">ServiceType</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.node.internal.AbstractNode$<init>(java.nio.file.Path, com.r3corda.node.services.config.NodeConfiguration, com.r3corda.core.node.NodeInfo, kotlin.collections.Set((com.r3corda.core.node.services.ServiceType)), java.time.Clock)/platformClock">platformClock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a><span class="symbol">)</span></code><br/>
<p>A base node implementation that can be customised either for production (with real implementations that do real
I/O), or a mock implementation suitable for unit test environments.</p>
<p>Marked as SingletonSerializeAsToken to prevent the invisible reference to AbstractNode in the ServiceHub accidentally
sweeping up the Node into the Kryo checkpoint serialization via any protocols holding a reference to ServiceHub.</p>
<br/>
<br/>
<br/>
<br/>
</BODY>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AbstractNode.customServices - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.internal</a>&nbsp;/&nbsp;<a href="index.html">AbstractNode</a>&nbsp;/&nbsp;<a href=".">customServices</a><br/>
<br/>
<h1>customServices</h1>
<a name="com.r3corda.node.internal.AbstractNode$customServices"></a>
<code><span class="keyword">val </span><span class="identifier">customServices</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">&gt;</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,16 @@
<HTML>
<HEAD>
<title>AbstractNode.findService - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.internal</a>&nbsp;/&nbsp;<a href="index.html">AbstractNode</a>&nbsp;/&nbsp;<a href=".">findService</a><br/>
<br/>
<h1>findService</h1>
<a name="com.r3corda.node.internal.AbstractNode$findService()"></a>
<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">findService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><br/>
<p>Locates and returns a service of the given type if loaded, or throws an exception if not found.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -7,9 +7,13 @@
<a href="../index.html">com.r3corda.node.internal</a>&nbsp;/&nbsp;<a href=".">AbstractNode</a><br/>
<br/>
<h1>AbstractNode</h1>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNode</span></code><br/>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNode</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a></code><br/>
<p>A base node implementation that can be customised either for production (with real implementations that do real
I/O), or a mock implementation suitable for unit test environments.</p>
<p>Marked as SingletonSerializeAsToken to prevent the invisible reference to AbstractNode in the ServiceHub accidentally
sweeping up the Node into the Kryo checkpoint serialization via any protocols holding a reference to ServiceHub.</p>
<br/>
<br/>
<br/>
<br/>
<h3>Constructors</h3>
@ -60,6 +64,12 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
<tr>
<td>
<a href="custom-services.html">customServices</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">customServices</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="dir.html">dir</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">dir</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a></code></td>
@ -90,12 +100,6 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
<tr>
<td>
<a href="interest-rates-service.html">interestRatesService</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">interestRatesService</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.clientapi/-node-interest-rates/-service/index.html"><span class="identifier">Service</span></a></code></td>
</tr>
<tr>
<td>
<a href="is-previous-checkpoints-present.html">isPreviousCheckpointsPresent</a></td>
<td>
<code><span class="keyword">var </span><span class="identifier">isPreviousCheckpointsPresent</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
@ -116,7 +120,13 @@ I/O), or a mock implementation suitable for unit test environments.</p>
<td>
<a href="net.html">net</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
<a href="net-map-cache.html">netMapCache</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="../../com.r3corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></code></td>
</tr>
<tr>
<td>
@ -230,6 +240,13 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
<tr>
<td>
<a href="find-service.html">findService</a></td>
<td>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">findService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><p>Locates and returns a service of the given type if loaded, or throws an exception if not found.</p>
</td>
</tr>
<tr>
<td>
<a href="generate-key-pair.html">generateKeyPair</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">generateKeyPair</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></code></td>
@ -254,15 +271,9 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
<tr>
<td>
<a href="make-interest-rates-oracle-service.html">makeInterestRatesOracleService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeInterestRatesOracleService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
<tr>
<td>
<a href="make-messaging-service.html">makeMessagingService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
@ -310,6 +321,17 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
</tbody>
</table>
<h3>Inherited Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/to-token.html">toToken</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">toToken</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.serialization.SingletonSerializeAsToken$toToken(com.r3corda.core.serialization.SerializeAsTokenContext)/context">context</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-serialize-as-token-context/index.html"><span class="identifier">SerializeAsTokenContext</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.serialization/-serialization-token/index.html"><span class="identifier">SerializationToken</span></a></code></td>
</tr>
</tbody>
</table>
<h3>Companion Object Properties</h3>
<table>
<tbody>

View File

@ -8,7 +8,7 @@
<br/>
<h1>makeMessagingService</h1>
<a name="com.r3corda.node.internal.AbstractNode$makeMessagingService()"></a>
<code><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><br/>
<code><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><br/>
<br/>
<br/>
</BODY>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>AbstractNode.netMapCache - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.internal</a>&nbsp;/&nbsp;<a href="index.html">AbstractNode</a>&nbsp;/&nbsp;<a href=".">netMapCache</a><br/>
<br/>
<h1>netMapCache</h1>
<a name="com.r3corda.node.internal.AbstractNode$netMapCache"></a>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="../../com.r3corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -8,7 +8,7 @@
<br/>
<h1>net</h1>
<a name="com.r3corda.node.internal.AbstractNode$net"></a>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><br/>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><br/>
<br/>
<br/>
</BODY>

View File

@ -116,6 +116,12 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<td>
<a href="../-abstract-node/custom-services.html">customServices</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">customServices</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
<a href="../-abstract-node/dir.html">dir</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">dir</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a></code></td>
@ -146,12 +152,6 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<td>
<a href="../-abstract-node/interest-rates-service.html">interestRatesService</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">interestRatesService</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.clientapi/-node-interest-rates/-service/index.html"><span class="identifier">Service</span></a></code></td>
</tr>
<tr>
<td>
<a href="../-abstract-node/is-previous-checkpoints-present.html">isPreviousCheckpointsPresent</a></td>
<td>
<code><span class="keyword">var </span><span class="identifier">isPreviousCheckpointsPresent</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
@ -166,7 +166,13 @@ loads important data off disk and starts listening for connections.</p>
<td>
<a href="../-abstract-node/net.html">net</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
<a href="../-abstract-node/net-map-cache.html">netMapCache</a></td>
<td>
<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="../../com.r3corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></code></td>
</tr>
<tr>
<td>
@ -258,7 +264,7 @@ loads important data off disk and starts listening for connections.</p>
<td>
<a href="make-messaging-service.html">makeMessagingService</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
<code><span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
@ -310,6 +316,13 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<td>
<a href="../-abstract-node/find-service.html">findService</a></td>
<td>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">findService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><p>Locates and returns a service of the given type if loaded, or throws an exception if not found.</p>
</td>
</tr>
<tr>
<td>
<a href="../-abstract-node/generate-key-pair.html">generateKeyPair</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">generateKeyPair</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></code></td>
@ -334,12 +347,6 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<td>
<a href="../-abstract-node/make-interest-rates-oracle-service.html">makeInterestRatesOracleService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeInterestRatesOracleService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
<tr>
<td>
<a href="../-abstract-node/make-network-map-service.html">makeNetworkMapService</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeNetworkMapService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>

View File

@ -8,7 +8,7 @@
<br/>
<h1>makeMessagingService</h1>
<a name="com.r3corda.node.internal.Node$makeMessagingService()"></a>
<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><br/>
<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><br/>
Overrides <a href="../-abstract-node/make-messaging-service.html">AbstractNode.makeMessagingService</a><br/>
<br/>
<br/>

View File

@ -20,7 +20,7 @@
<td>
<a href="-abstract-node/index.html">AbstractNode</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNode</span></code><p>A base node implementation that can be customised either for production (with real implementations that do real
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractNode</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a></code><p>A base node implementation that can be customised either for production (with real implementations that do real
I/O), or a mock implementation suitable for unit test environments.</p>
</td>
</tr>

View File

@ -73,28 +73,12 @@ acknowledgement response with no content, use <a href="#">com.r3corda.core.messa
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.services.persistence/-data-vending-service/index.html">DataVendingService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">DataVendingService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">AbstractNodeService</span></code><p>This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple
glue that sits between the network layer and the database layer.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.network/-in-memory-network-map-service/index.html">InMemoryNetworkMapService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">InMemoryNetworkMapService</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.node.services.network/-network-map-service/index.html"><span class="identifier">NetworkMapService</span></a><span class="symbol">, </span><span class="identifier">AbstractNodeService</span></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services/-notary-change-service/index.html">NotaryChangeService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">NotaryChangeService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">AbstractNodeService</span></code><p>A service that monitors the network for requests for changing the notary of a state,
and immediately runs the <a href="../../com.r3corda.protocols/-notary-change-protocol/index.html">NotaryChangeProtocol</a> if the auto-accept criteria are met.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.transactions/-notary-service/index.html">NotaryService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">NotaryService</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">AbstractNodeService</span></code><p>A Notary service acts as the final signer of a transaction ensuring two things:</p>
@ -107,6 +91,22 @@ and immediately runs the <a href="../../com.r3corda.protocols/-notary-change-pro
<code><span class="keyword">class </span><span class="identifier">Service</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-accepts-file-upload/index.html"><span class="identifier">AcceptsFileUpload</span></a><span class="symbol">, </span><span class="identifier">AbstractNodeService</span></code><p>The Service that wraps <a href="../../com.r3corda.node.services.clientapi/-node-interest-rates/-oracle/index.html">Oracle</a> and handles messages/network interaction/request scrubbing.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services/-notary-change/-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">AbstractNodeService</span></code><p>A service that monitors the network for requests for changing the notary of a state,
and immediately runs the <a href="../../com.r3corda.protocols/-notary-change-protocol/index.html">NotaryChangeProtocol</a> if the auto-accept criteria are met.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.persistence/-data-vending/-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">AbstractNodeService</span></code><p>This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple
glue that sits between the network layer and the database layer.</p>
</td>
</tr>
</tbody>
</table>
</BODY>

View File

@ -0,0 +1,44 @@
<HTML>
<HEAD>
<title>MessagingServiceBuilder - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href=".">MessagingServiceBuilder</a><br/>
<br/>
<h1>MessagingServiceBuilder</h1>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceBuilder</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a><span class="symbol">&gt;</span></code><br/>
<p>This class lets you start up a <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a>. Its purpose is to stop you from getting access to the methods
on the messaging service interface until you have successfully started up the system. One of these objects should
be the only way to obtain a reference to a <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a>. Startup may be a slow process: some implementations
may let you cast the returned future to an object that lets you get status info.</p>
<p>A specific implementation of the controller class will have extra features that let you customise it before starting
it up.</p>
<br/>
<br/>
<br/>
<br/>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="start.html">start</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
</tbody>
</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-builder/index.html">Builder</a></td>
<td>
<code><span class="keyword">inner</span> <span class="keyword">class </span><span class="identifier">Builder</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">MessagingServiceBuilder</span><span class="symbol">&lt;</span><a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html"><span class="identifier">InMemoryMessaging</span></a><span class="symbol">&gt;</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>MessagingServiceBuilder.start - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href="index.html">MessagingServiceBuilder</a>&nbsp;/&nbsp;<a href=".">start</a><br/>
<br/>
<h1>start</h1>
<a name="com.r3corda.node.services.api.MessagingServiceBuilder$start()"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,133 @@
<HTML>
<HEAD>
<title>MessagingServiceInternal - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href=".">MessagingServiceInternal</a><br/>
<br/>
<h1>MessagingServiceInternal</h1>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceInternal</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code><br/>
<br/>
<br/>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/-messaging-service/my-address.html">myAddress</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">myAddress</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a></code><p>Returns an address that refers to this node.</p>
</td>
</tr>
</tbody>
</table>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="register-trusted-address.html">registerTrustedAddress</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">registerTrustedAddress</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.api.MessagingServiceInternal$registerTrustedAddress(com.r3corda.core.messaging.SingleMessageRecipient)/address">address</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
<tr>
<td>
<a href="stop.html">stop</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
<h3>Inherited Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/-messaging-service/add-message-handler.html">addMessageHandler</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;""<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><p>The provided function will be invoked for each received message whose topic matches the given string, on the given
executor.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">addMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$addMessageHandler(com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function2((com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageHandlerRegistration, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a><span class="symbol">,</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a></code><p>The provided function will be invoked for each received message whose topic and session matches, on the
given executor.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/-messaging-service/create-message.html">createMessage</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span>&nbsp;<span class="symbol">=</span>&nbsp;DEFAULT_SESSION_ID<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(kotlin.String, kotlin.Long, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a></code><br/>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">createMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$createMessage(com.r3corda.core.messaging.TopicSession, kotlin.ByteArray)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a></code><p>Returns an initialised <a href="../../com.r3corda.core.messaging/-message/index.html">Message</a> with the current time, etc, already filled in.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/-messaging-service/remove-message-handler.html">removeMessageHandler</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">removeMessageHandler</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$removeMessageHandler(com.r3corda.core.messaging.MessageHandlerRegistration)/registration">registration</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-handler-registration.html"><span class="identifier">MessageHandlerRegistration</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Removes a handler given the object returned from <a href="../../com.r3corda.core.messaging/-messaging-service/add-message-handler.html">addMessageHandler</a>. The callback will no longer be invoked once
this method has returned, although executions that are currently in flight will not be interrupted.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/-messaging-service/send.html">send</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$send(com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageRecipients)/message">message</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging.MessagingService$send(com.r3corda.core.messaging.Message, com.r3corda.core.messaging.MessageRecipients)/target">target</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Sends a message to the given receiver. The details of how receivers are identified is up to the messaging
implementation: the type system provides an opaque high level view, with more fine grained control being
available via type casting. Once this function returns the message is queued for delivery but not necessarily
delivered: if the recipients are offline then the message could be queued hours or days later.</p>
</td>
</tr>
</tbody>
</table>
<h3>Extension Functions</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/run-on-next-message.html">runOnNextMessage</a></td>
<td>
<code><span class="keyword">fun </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session ID that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="../../com.r3corda.core.messaging/-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>, as the handler is
automatically deregistered before the callback runs.</p>
<code><span class="keyword">fun </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">runOnNextMessage</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$runOnNextMessage(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, java.util.concurrent.Executor, kotlin.Function1((com.r3corda.core.messaging.Message, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../com.r3corda.core.messaging/-message/index.html"><span class="identifier">Message</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Registers a handler for the given topic and session that runs the given callback with the message and then removes
itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback
doesnt take the registration object, unlike the callback to <a href="../../com.r3corda.core.messaging/-messaging-service/add-message-handler.html">MessagingService.addMessageHandler</a>.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.messaging/send.html">send</a></td>
<td>
<code><span class="keyword">fun </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/sessionID">sessionID</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, kotlin.String, kotlin.Long, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<code><span class="keyword">fun </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a><span class="symbol">.</span><span class="identifier">send</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/topicSession">topicSession</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-topic-session/index.html"><span class="identifier">TopicSession</span></a><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/payload">payload</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="com.r3corda.core.messaging$send(com.r3corda.core.messaging.MessagingService, com.r3corda.core.messaging.TopicSession, kotlin.Any, com.r3corda.core.messaging.MessageRecipients)/to">to</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr>
</tbody>
</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../com.r3corda.node.services.messaging/-artemis-messaging-service/index.html">ArtemisMessagingService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">ArtemisMessagingService</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a><span class="symbol">, </span><span class="identifier">MessagingServiceInternal</span></code><p>This class implements the <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> API using Apache Artemis, the successor to their ActiveMQ product.
Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate
with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0
as well for interop.</p>
</td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a></td>
<td>
<code><span class="keyword">inner</span> <span class="keyword">class </span><span class="identifier">InMemoryMessaging</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a><span class="symbol">, </span><span class="identifier">MessagingServiceInternal</span></code><p>An <a href="../../com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> provides a <a href="../../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a> that isnt backed by any kind of network or disk storage
system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience
when all entities on the network are being simulated in-process.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>MessagingServiceInternal.registerTrustedAddress - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href="index.html">MessagingServiceInternal</a>&nbsp;/&nbsp;<a href=".">registerTrustedAddress</a><br/>
<br/>
<h1>registerTrustedAddress</h1>
<a name="com.r3corda.node.services.api.MessagingServiceInternal$registerTrustedAddress(com.r3corda.core.messaging.SingleMessageRecipient)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">registerTrustedAddress</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.api.MessagingServiceInternal$registerTrustedAddress(com.r3corda.core.messaging.SingleMessageRecipient)/address">address</span><span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>MessagingServiceInternal.stop - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href="index.html">MessagingServiceInternal</a>&nbsp;/&nbsp;<a href=".">stop</a><br/>
<br/>
<h1>stop</h1>
<a name="com.r3corda.node.services.api.MessagingServiceInternal$stop()"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -32,6 +32,12 @@
</tr>
<tr>
<td>
<a href="network-service.html">networkService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkService</span><span class="symbol">: </span><a href="../-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code></td>
</tr>
<tr>
<td>
<a href="protocol-logic-ref-factory.html">protocolLogicRefFactory</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">protocolLogicRefFactory</span><span class="symbol">: </span><a href="../../com.r3corda.core.protocols/-protocol-logic-ref-factory/index.html"><span class="identifier">ProtocolLogicRefFactory</span></a></code></td>
@ -67,12 +73,6 @@
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.node/-service-hub/network-service.html">networkService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkService</span><span class="symbol">: </span><a href="../../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
</tr>
<tr>
<td>
<a href="../../com.r3corda.core.node/-service-hub/scheduler-service.html">schedulerService</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">schedulerService</span><span class="symbol">: </span><a href="../../com.r3corda.core.node.services/-scheduler-service/index.html"><span class="identifier">SchedulerService</span></a></code></td>

View File

@ -0,0 +1,16 @@
<HTML>
<HEAD>
<title>ServiceHubInternal.networkService - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.api</a>&nbsp;/&nbsp;<a href="index.html">ServiceHubInternal</a>&nbsp;/&nbsp;<a href=".">networkService</a><br/>
<br/>
<h1>networkService</h1>
<a name="com.r3corda.node.services.api.ServiceHubInternal$networkService"></a>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkService</span><span class="symbol">: </span><a href="../-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></code><br/>
Overrides <a href="../../com.r3corda.core.node/-service-hub/network-service.html">ServiceHub.networkService</a><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -39,6 +39,22 @@
</tr>
<tr>
<td>
<a href="-messaging-service-builder/index.html">MessagingServiceBuilder</a></td>
<td>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceBuilder</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a><span class="symbol">&gt;</span></code><p>This class lets you start up a <a href="../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a>. Its purpose is to stop you from getting access to the methods
on the messaging service interface until you have successfully started up the system. One of these objects should
be the only way to obtain a reference to a <a href="../com.r3corda.core.messaging/-messaging-service/index.html">MessagingService</a>. Startup may be a slow process: some implementations
may let you cast the returned future to an object that lets you get status info.</p>
</td>
</tr>
<tr>
<td>
<a href="-messaging-service-internal/index.html">MessagingServiceInternal</a></td>
<td>
<code><span class="keyword">interface </span><span class="identifier">MessagingServiceInternal</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../com.r3corda.core.messaging/-messaging-service/index.html"><span class="identifier">MessagingService</span></a></code></td>
</tr>
<tr>
<td>
<a href="-monitoring-service/index.html">MonitoringService</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">MonitoringService</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../com.r3corda.core.serialization/-singleton-serialize-as-token/index.html"><span class="identifier">SingletonSerializeAsToken</span></a></code><p>Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes.

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation.Plugin.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">FixingSessionInitiation</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,74 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation.Plugin - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">FixingSessionInitiation</a>&nbsp;/&nbsp;<a href=".">Plugin</a><br/>
<br/>
<h1>Plugin</h1>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,20 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation.Plugin.servicePlugins - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">FixingSessionInitiation</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.node.services.clientapi.FixingSessionInitiation.Plugin$servicePlugins"></a>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">CordaPluginRegistry.servicePlugins</a><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,14 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation.Service.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">FixingSessionInitiation</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.clientapi.FixingSessionInitiation.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code><br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,25 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation.Service - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">FixingSessionInitiation</a>&nbsp;/&nbsp;<a href=".">Service</a><br/>
<br/>
<h1>Service</h1>
<code><span class="keyword">class </span><span class="identifier">Service</span></code><br/>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.clientapi.FixingSessionInitiation.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,36 @@
<HTML>
<HEAD>
<title>FixingSessionInitiation - </title>
<link rel="stylesheet" href="../../style.css">
</HEAD>
<BODY>
<a href="../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href=".">FixingSessionInitiation</a><br/>
<br/>
<h1>FixingSessionInitiation</h1>
<code><span class="keyword">object </span><span class="identifier">FixingSessionInitiation</span></code><br/>
<p>This is a temporary handler required for establishing random sessionIDs for the <a href="#">Fixer</a> and <a href="#">Floater</a> as part of
running scheduled fixings for the <a href="#">InterestRateSwap</a> contract.</p>
<p>TODO: This will be replaced with the automatic sessionID / session setup work.</p>
<br/>
<br/>
<br/>
<br/>
<h3>Types</h3>
<table>
<tbody>
<tr>
<td>
<a href="-plugin/index.html">Plugin</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code></td>
</tr>
<tr>
<td>
<a href="-service/index.html">Service</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">Service</span></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,15 @@
<HTML>
<HEAD>
<title>NodeInterestRates.Plugin.<init> - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">NodeInterestRates</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
<p>Register the protocol that is used with the Fixing integration tests.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,76 @@
<HTML>
<HEAD>
<title>NodeInterestRates.Plugin - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">NodeInterestRates</a>&nbsp;/&nbsp;<a href=".">Plugin</a><br/>
<br/>
<h1>Plugin</h1>
<code><span class="keyword">class </span><span class="identifier">Plugin</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a></code><br/>
<p>Register the protocol that is used with the Fixing integration tests.</p>
<br/>
<br/>
<h3>Constructors</h3>
<table>
<tbody>
<tr>
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">Plugin</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Register the protocol that is used with the Fixing integration tests.</p>
</td>
</tr>
</tbody>
</table>
<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="required-protocols.html">requiredProtocols</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
</td>
</tr>
<tr>
<td>
<a href="service-plugins.html">servicePlugins</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
</td>
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html">staticServeDirs</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">staticServeDirs</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><p>Map of static serving endpoints to the matching resource directory. All endpoints will be prefixed with "/web" and postfixed with "\*.
Resource directories can be either on disk directories (especially when debugging) in the form "a/b/c". Serving from a JAR can
be specified with: javaClass.getResource("&lt;folder-in-jar&gt;").toExternalForm()</p>
</td>
</tr>
<tr>
<td>
<a href="../../../com.r3corda.core.node/-corda-plugin-registry/web-apis.html">webApis</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">webApis</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><p>List of JAX-RS classes inside the contract jar. They are expected to have a single parameter constructor that takes a ServiceHub as input.
These are listed as Class&lt;*&gt;, because in the future they will be instantiated inside a ClassLoader so that
Cordapp code can be loaded dynamically.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -0,0 +1,21 @@
<HTML>
<HEAD>
<title>NodeInterestRates.Plugin.requiredProtocols - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">NodeInterestRates</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">requiredProtocols</a><br/>
<br/>
<h1>requiredProtocols</h1>
<a name="com.r3corda.node.services.clientapi.NodeInterestRates.Plugin$requiredProtocols"></a>
<code><span class="keyword">val </span><span class="identifier">requiredProtocols</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/required-protocols.html">CordaPluginRegistry.requiredProtocols</a><br/>
<p>A Map with an entry for each consumed protocol used by the webAPIs.
The key of each map entry should contain the ProtocolLogic class name.
The associated map values are the union of all concrete class names passed to the protocol constructor.
Standard java.lang.* and kotlin.* types do not need to be included explicitly.
This is used to extend the white listed protocols that can be initiated from the ServiceHub invokeProtocolAsync method.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -0,0 +1,20 @@
<HTML>
<HEAD>
<title>NodeInterestRates.Plugin.servicePlugins - </title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">NodeInterestRates</a>&nbsp;/&nbsp;<a href="index.html">Plugin</a>&nbsp;/&nbsp;<a href=".">servicePlugins</a><br/>
<br/>
<h1>servicePlugins</h1>
<a name="com.r3corda.node.services.clientapi.NodeInterestRates.Plugin$servicePlugins"></a>
<code><span class="keyword">val </span><span class="identifier">servicePlugins</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../../../com.r3corda.core.node/-corda-plugin-registry/service-plugins.html">CordaPluginRegistry.servicePlugins</a><br/>
<p>List of additional long lived services to be hosted within the node.
They are expected to have a single parameter constructor that takes a ServiceHubInternal as input.
The ServiceHubInternal will be fully constructed before the plugin service is created and will
allow access to the protocol factory and protocol initiation entry points there.</p>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -7,7 +7,7 @@
<a href="../../index.html">com.r3corda.node.services.clientapi</a>&nbsp;/&nbsp;<a href="../index.html">NodeInterestRates</a>&nbsp;/&nbsp;<a href="index.html">Service</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.clientapi.NodeInterestRates.Service$<init>(com.r3corda.node.internal.AbstractNode)/node">node</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.internal/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a><span class="symbol">)</span></code><br/>
<code><span class="identifier">Service</span><span class="symbol">(</span><span class="identifier" id="com.r3corda.node.services.clientapi.NodeInterestRates.Service$<init>(com.r3corda.node.services.api.ServiceHubInternal)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../../com.r3corda.node.services.api/-service-hub-internal/index.html"><span class="identifier">ServiceHubInternal</span></a><span class="symbol">)</span></code><br/>
<p>The Service that wraps <a href="../-oracle/index.html">Oracle</a> and handles messages/network interaction/request scrubbing.</p>
<br/>
<br/>

Some files were not shown because too many files have changed in this diff Show More