⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adaptornonblockingmessenger.html

📁 jxta的api库
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><TITLE>AdaptorNonBlockingMessenger (Project JXTA J2SE)</TITLE><META NAME="keywords" CONTENT="net.jxta.impl.endpoint.AdaptorNonBlockingMessenger class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    parent.document.title="AdaptorNonBlockingMessenger (Project JXTA J2SE)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">  <TR ALIGN="center" VALIGN="top">  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AdaptorNonBlockingMessenger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>  </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><a href='http://www.jxta.org' target='_blank'>Project JXTA</a></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../net/jxta/impl/endpoint/AdaptorBlockingMessenger.html" title="class in net.jxta.impl.endpoint"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="AdaptorNonBlockingMessenger.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;&nbsp;<SCRIPT type="text/javascript">  <!--  if(window==top) {    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');  }  //--></SCRIPT><NOSCRIPT>  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">net.jxta.impl.endpoint</FONT><BR>Class AdaptorNonBlockingMessenger</H2><PRE>java.lang.Object  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint">net.jxta.impl.endpoint.BasicMessenger</A>      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../net/jxta/impl/endpoint/NonBlockingMessenger.html" title="class in net.jxta.impl.endpoint">net.jxta.impl.endpoint.NonBlockingMessenger</A>          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>net.jxta.impl.endpoint.AdaptorNonBlockingMessenger</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html" title="interface in net.jxta.endpoint">EndpointMessenger</A>, <A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A>, java.lang.Runnable</DD></DL><HR><DL><DT>public class <B>AdaptorNonBlockingMessenger</B><DT>extends <A HREF="../../../../net/jxta/impl/endpoint/NonBlockingMessenger.html" title="class in net.jxta.impl.endpoint">NonBlockingMessenger</A><DT>implements java.lang.Runnable</DL><P>Converts any given messenger into a non-blocking one. A rarely used convenience in itself since one should hardly ever get a blocking messenger where a non-blocking one was expected. It can happen though. The static method newNonBlockingMessenger ensures that a messenger is not uselessly wrapped. Should anyone insist on it by using the constructor, it will still work regardless of the synchronicity of the wrapped messenger. <p/>A more important use of this class is to serve as a base for the VirtualMessenger that the Endpoint returns to invokers of getMessenger().<P><P><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Field Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static&nbsp;long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#THREAD_IDLE_DIE">THREAD_IDLE_DIE</A></B></CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amount of time that the service thread will wait for a message before  idle expiring.</TD></TR></TABLE>&nbsp;<A NAME="fields_inherited_from_class_net.jxta.impl.endpoint.BasicMessenger"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Fields inherited from class net.jxta.impl.endpoint.<A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html" title="class in net.jxta.impl.endpoint">BasicMessenger</A></B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#closed">closed</A>, <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#dstAddress">dstAddress</A>, <A HREF="../../../../net/jxta/impl/endpoint/BasicMessenger.html#propertyChangeSupport">propertyChangeSupport</A></CODE></TD></TR></TABLE>&nbsp;<!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected </CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#AdaptorNonBlockingMessenger(net.jxta.endpoint.EndpointAddress, net.jxta.endpoint.EndpointAddress, int, net.jxta.impl.endpoint.endpointMeter.OutboundMeter)">AdaptorNonBlockingMessenger</A></B>(<A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A>&nbsp;dest,                            <A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A>&nbsp;logicalDest,                            int&nbsp;qsize,                            <A HREF="../../../../net/jxta/impl/endpoint/endpointMeter/OutboundMeter.html" title="class in net.jxta.impl.endpoint.endpointMeter">OutboundMeter</A>&nbsp;messengerMeter)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new adaptor for the given destination with no permanent wrapped messager to back it.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#AdaptorNonBlockingMessenger(net.jxta.endpoint.Messenger, int)">AdaptorNonBlockingMessenger</A></B>(<A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A>&nbsp;wrapped,                            int&nbsp;qsize)</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new adaptor non blocking messenger which wrapps the provided one permanently. </TD></TR></TABLE>&nbsp;<!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#close()">close</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The permanently wrapped messenger is still there. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;<A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#getLogicalDestinationAddress()">getLogicalDestinationAddress</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the logical destination of this messenger. This may be a  different address than is returned by  <A HREF="../../../../net/jxta/endpoint/EndpointMessenger.html#getDestinationAddress()"><CODE>getDestinationAddress</CODE></A> and refers to  the entity which is located at the destination address.  <p/>By analogy, a telephone number would be the destination address, and  the owner of that telephone number would be the logical destination.  Each logical destination may be known by one or more destination  addresses. <p/>By default the logical destination is the same as the destination. <p/>By default the logical destination is the same as the destination.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected &nbsp;<A HREF="../../../../net/jxta/endpoint/Messenger.html" title="interface in net.jxta.endpoint">Messenger</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#getWrapped()">getWrapped</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#isClosed()">isClosed</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this messenger is closed and no longer   accepting messages to be sent. The messenger should be discarded.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>&nbsp;boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/endpoint/AdaptorNonBlockingMessenger.html#isIdle()">isIdle</A></B>()</CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this messenger is not currently sending any messages and  the messenger has not been used for "a long time". Thus suggesting that closing it would be good. <p/>The definition of idleness is up to the implementing message transport, but is usually based upon the cost of re-opening a closed

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -