blob: 5795e79c1ff1a454536776d473469b2b8ddaed8b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>MulticastPulseAgent</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MulticastPulseAgent";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/openejb/server/discovery/MulticastDiscoveryAgent.html" title="class in org.apache.openejb.server.discovery"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/openejb/server/discovery/MulticastSearch.html" title="class in org.apache.openejb.server.discovery"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openejb/server/discovery/MulticastPulseAgent.html" target="_top">Frames</a></li>
<li><a href="MulticastPulseAgent.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.openejb.server.discovery</div>
<h2 title="Class MulticastPulseAgent" class="title">Class MulticastPulseAgent</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.openejb.server.discovery.MulticastPulseAgent</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a>, <a href="../../../../../org/apache/openejb/server/SelfManaging.html" title="interface in org.apache.openejb.server">SelfManaging</a>, <a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a>, <a href="../../../../../org/apache/openejb/spi/Service.html" title="interface in org.apache.openejb.spi">Service</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">MulticastPulseAgent</span>
extends java.lang.Object
implements <a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a>, <a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a>, <a href="../../../../../org/apache/openejb/server/SelfManaging.html" title="interface in org.apache.openejb.server">SelfManaging</a></pre>
<div class="block">Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#BADURI">BADURI</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#CLIENT">CLIENT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#EMPTY">EMPTY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#SERVER">SERVER</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#MulticastPulseAgent--">MulticastPulseAgent</a></span>()</code>
<div class="block">This agent listens for client pulses on a defined multicast channel.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/openejb/server/DiscoveryListener.html" title="interface in org.apache.openejb.server">DiscoveryListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getDiscoveryListener--">getDiscoveryListener</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getHosts--">getHosts</a></span>()</code>
<div class="block">Lists current broadcast hosts as a comma separated list.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getIP--">getIP</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getName--">getName</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getPort--">getPort</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.net.DatagramPacket</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getResponsePacket--">getResponsePacket</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.net.MulticastSocket[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#getSockets-java.lang.String-int-">getSockets</a></span>(java.lang.String&nbsp;multicastAddress,
int&nbsp;port)</code>
<div class="block">Attempts to return at least one socket per valid network interface.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#init-java.util.Properties-">init</a></span>(java.util.Properties&nbsp;p)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#isLocalAddress-java.lang.String-boolean-">isLocalAddress</a></span>(java.lang.String&nbsp;host,
boolean&nbsp;wildcardIsLocal)</code>
<div class="block">Is the provided host a local host</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#isLoopback-java.lang.String-">isLoopback</a></span>(java.lang.String&nbsp;host)</code>
<div class="block">Is the provided host a valid loopback address</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#registerService-java.net.URI-">registerService</a></span>(java.net.URI&nbsp;uri)</code>
<div class="block">register a service</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#removeFromIgnore-java.lang.String-">removeFromIgnore</a></span>(java.lang.String&nbsp;host)</code>
<div class="block">Remove a host from the ignore list.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#reportFailed-java.net.URI-">reportFailed</a></span>(java.net.URI&nbsp;serviceUri)</code>
<div class="block">A process actively using a service may see it go down before the DiscoveryAgent notices the
service's failure.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#service-java.io.InputStream-java.io.OutputStream-">service</a></span>(java.io.InputStream&nbsp;in,
java.io.OutputStream&nbsp;out)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#service-java.net.Socket-">service</a></span>(java.net.Socket&nbsp;socket)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#setDiscoveryListener-org.apache.openejb.server.DiscoveryListener-">setDiscoveryListener</a></span>(<a href="../../../../../org/apache/openejb/server/DiscoveryListener.html" title="interface in org.apache.openejb.server">DiscoveryListener</a>&nbsp;listener)</code>
<div class="block">Sets the discovery listener</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#start--">start</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#stop--">stop</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/discovery/MulticastPulseAgent.html#unregisterService-java.net.URI-">unregisterService</a></span>(java.net.URI&nbsp;uri)</code>
<div class="block">register a service</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="SERVER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SERVER</h4>
<pre>public static final&nbsp;java.lang.String SERVER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.discovery.MulticastPulseAgent.SERVER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLIENT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLIENT</h4>
<pre>public static final&nbsp;java.lang.String CLIENT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.discovery.MulticastPulseAgent.CLIENT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="BADURI">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BADURI</h4>
<pre>public static final&nbsp;java.lang.String BADURI</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.discovery.MulticastPulseAgent.BADURI">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="EMPTY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EMPTY</h4>
<pre>public static final&nbsp;java.lang.String EMPTY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.discovery.MulticastPulseAgent.EMPTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MulticastPulseAgent--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MulticastPulseAgent</h4>
<pre>public&nbsp;MulticastPulseAgent()</pre>
<div class="block">This agent listens for client pulses on a defined multicast channel.
On receipt of a valid pulse the agent responds with its own pulse for
a defined amount of time and rate. A client can deliver a pulse as often as
required until it is happy of the server response.
Both server and client deliver crafted information payloads.
The client pulse contains OpenEJB.MCP.Client:(group or *)[:BadUri:URI]
The server will only respond to a request for it's own group or *
The optional :BadUri: is used by clients to notify a server that it is sending out unreachable URI's
The server response pulse contains OpenEJB.MCP.Server:(Service|Service)|(Comma separated host list)</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init-java.util.Properties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init(java.util.Properties&nbsp;p)
throws java.lang.Exception</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/spi/Service.html#init-java.util.Properties-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/spi/Service.html" title="interface in org.apache.openejb.spi">Service</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="getResponsePacket--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponsePacket</h4>
<pre>public&nbsp;java.net.DatagramPacket&nbsp;getResponsePacket()</pre>
</li>
</ul>
<a name="setDiscoveryListener-org.apache.openejb.server.DiscoveryListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDiscoveryListener</h4>
<pre>public&nbsp;void&nbsp;setDiscoveryListener(<a href="../../../../../org/apache/openejb/server/DiscoveryListener.html" title="interface in org.apache.openejb.server">DiscoveryListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#setDiscoveryListener-org.apache.openejb.server.DiscoveryListener-">DiscoveryAgent</a></code></span></div>
<div class="block">Sets the discovery listener</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#setDiscoveryListener-org.apache.openejb.server.DiscoveryListener-">setDiscoveryListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a></code></dd>
</dl>
</li>
</ul>
<a name="getDiscoveryListener--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscoveryListener</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/openejb/server/DiscoveryListener.html" title="interface in org.apache.openejb.server">DiscoveryListener</a>&nbsp;getDiscoveryListener()</pre>
</li>
</ul>
<a name="registerService-java.net.URI-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerService</h4>
<pre>public&nbsp;void&nbsp;registerService(java.net.URI&nbsp;uri)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#registerService-java.net.URI-">DiscoveryAgent</a></code></span></div>
<div class="block">register a service</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#registerService-java.net.URI-">registerService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="unregisterService-java.net.URI-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterService</h4>
<pre>public&nbsp;void&nbsp;unregisterService(java.net.URI&nbsp;uri)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#unregisterService-java.net.URI-">DiscoveryAgent</a></code></span></div>
<div class="block">register a service</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#unregisterService-java.net.URI-">unregisterService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="reportFailed-java.net.URI-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reportFailed</h4>
<pre>public&nbsp;void&nbsp;reportFailed(java.net.URI&nbsp;serviceUri)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#reportFailed-java.net.URI-">DiscoveryAgent</a></code></span></div>
<div class="block">A process actively using a service may see it go down before the DiscoveryAgent notices the
service's failure. That process can use this method to notify the DiscoveryAgent of the failure
so that other listeners of this DiscoveryAgent can also be made aware of the failure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html#reportFailed-java.net.URI-">reportFailed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/DiscoveryAgent.html" title="interface in org.apache.openejb.server">DiscoveryAgent</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()
throws <a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></code></dd>
</dl>
</li>
</ul>
<a name="stop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()
throws <a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#stop--">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></code></dd>
</dl>
</li>
</ul>
<a name="service-java.io.InputStream-java.io.OutputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>service</h4>
<pre>public&nbsp;void&nbsp;service(java.io.InputStream&nbsp;in,
java.io.OutputStream&nbsp;out)
throws <a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a>,
java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#service-java.io.InputStream-java.io.OutputStream-">service</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="service-java.net.Socket-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>service</h4>
<pre>public&nbsp;void&nbsp;service(java.net.Socket&nbsp;socket)
throws <a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a>,
java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#service-java.net.Socket-">service</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServiceException.html" title="class in org.apache.openejb.server">ServiceException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
</dl>
</li>
</ul>
<a name="getIP--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIP</h4>
<pre>public&nbsp;java.lang.String&nbsp;getIP()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#getIP--">getIP</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
</dl>
</li>
</ul>
<a name="getPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;int&nbsp;getPort()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/ServerService.html#getPort--">getPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/ServerService.html" title="interface in org.apache.openejb.server">ServerService</a></code></dd>
</dl>
</li>
</ul>
<a name="getHosts--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHosts</h4>
<pre>public&nbsp;java.lang.String&nbsp;getHosts()</pre>
<div class="block">Lists current broadcast hosts as a comma separated list.
Used principally for testing.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String</dd>
</dl>
</li>
</ul>
<a name="removeFromIgnore-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeFromIgnore</h4>
<pre>public&nbsp;boolean&nbsp;removeFromIgnore(java.lang.String&nbsp;host)</pre>
<div class="block">Remove a host from the ignore list.
Used principally for testing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - String</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if removed, else false</dd>
</dl>
</li>
</ul>
<a name="getSockets-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSockets</h4>
<pre>public static&nbsp;java.net.MulticastSocket[]&nbsp;getSockets(java.lang.String&nbsp;multicastAddress,
int&nbsp;port)
throws java.lang.Exception</pre>
<div class="block">Attempts to return at least one socket per valid network interface.
If no valid interface is found then the array will be empty.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>multicastAddress</code> - A valid multicast address</dd>
<dd><code>port</code> - A valid multicast port</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>MulticastSocket[], may be empty if no valid interfaces exist</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - On invalid parameters</dd>
</dl>
</li>
</ul>
<a name="isLoopback-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLoopback</h4>
<pre>public static&nbsp;boolean&nbsp;isLoopback(java.lang.String&nbsp;host)</pre>
<div class="block">Is the provided host a valid loopback address</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - Host to test</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True or false</dd>
</dl>
</li>
</ul>
<a name="isLocalAddress-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isLocalAddress</h4>
<pre>public static&nbsp;boolean&nbsp;isLocalAddress(java.lang.String&nbsp;host,
boolean&nbsp;wildcardIsLocal)</pre>
<div class="block">Is the provided host a local host</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - The host to test</dd>
<dd><code>wildcardIsLocal</code> - Should 0.0.0.0 or [::] be deemed as local</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True is the host is a local host else false</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/openejb/server/discovery/MulticastDiscoveryAgent.html" title="class in org.apache.openejb.server.discovery"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/openejb/server/discovery/MulticastSearch.html" title="class in org.apache.openejb.server.discovery"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openejb/server/discovery/MulticastPulseAgent.html" target="_top">Frames</a></li>
<li><a href="MulticastPulseAgent.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>