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

📄 nonblockingoutputpipe.html

📁 jxta的api库
💻 HTML
📖 第 1 页 / 共 2 页
字号:
public void <B>close</B>()</PRE><DL><DD>close the pipe<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="isClosed()"><!-- --></A><H3>isClosed</H3><PRE>public boolean <B>isClosed</B>()</PRE><DL><DD>Returns <code>true</code> if this pipe is closed and no longer  accepting messages to be sent. The pipe should be discarded.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#isClosed()">isClosed</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD><code>true</code> if this pipe is closed, otherwise  <code>false</code>.</DL></DD></DL><HR><A NAME="getType()"><!-- --></A><H3>getType</H3><PRE>public final java.lang.String <B>getType</B>()</PRE><DL><DD>Gets the pipe type<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#getType()">getType</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>The type</DL></DD></DL><HR><A NAME="getPipeID()"><!-- --></A><H3>getPipeID</H3><PRE>public final <A HREF="../../../../net/jxta/id/ID.html" title="class in net.jxta.id">ID</A> <B>getPipeID</B>()</PRE><DL><DD>Gets the pipe id<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#getPipeID()">getPipeID</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>The type</DL></DD></DL><HR><A NAME="getName()"><!-- --></A><H3>getName</H3><PRE>public final java.lang.String <B>getName</B>()</PRE><DL><DD>Gets the pipe name<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>The name</DL></DD></DL><HR><A NAME="getAdvertisement()"><!-- --></A><H3>getAdvertisement</H3><PRE>public final <A HREF="../../../../net/jxta/protocol/PipeAdvertisement.html" title="class in net.jxta.protocol">PipeAdvertisement</A> <B>getAdvertisement</B>()</PRE><DL><DD>Gets the pipe advertisement<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#getAdvertisement()">getAdvertisement</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>The advertisement</DL></DD></DL><HR><A NAME="send(net.jxta.endpoint.Message)"><!-- --></A><H3>send</H3><PRE>public boolean <B>send</B>(<A HREF="../../../../net/jxta/endpoint/Message.html" title="class in net.jxta.endpoint">Message</A>&nbsp;msg)             throws java.io.IOException</PRE><DL><DD>Send a message throught the pipe <p/><b>WARNING:</b> The message object used when sending a pipe message should not be reused or modified after the <A HREF="../../../../net/jxta/pipe/OutputPipe.html#send(net.jxta.endpoint.Message)"><CODE>OutputPipe.send(Message)</CODE></A> call is made. Concurrent modification of messages will produce unexpected result.<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html#send(net.jxta.endpoint.Message)">send</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/pipe/OutputPipe.html" title="interface in net.jxta.pipe">OutputPipe</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>msg</CODE> - is the PipeMessage to be sent.<DT><B>Returns:</B><DD>boolean <code>true</code> if the message has been sent otherwise <code>false</code>. <code>false</code>. is commonly returned for non-error related congestion, meaning that you should be able to send the message after waiting some amount of time.<DT><B>Throws:</B><DD><CODE>java.io.IOException</CODE> - output pipe error</DL></DD></DL><HR><A NAME="run()"><!-- --></A><H3>run</H3><PRE>public void <B>run</B>()</PRE><DL><DD>  <p/>Sends the messages.  <p>This method does a lot of things. It has several distinct states:  <p/><table border="1">      <thead>      <tr>          <th>STATE</th>          <th>Activity</th>      <tr>      </thead>      <tbody>      <tr>          <th>ACQUIREMESSENGER</th          <td>Acquire a messenger to the specified destination peer. If a          messenger is acquired, then go to <b>SENDMESSAGES</b> state          otherwise go to <b>STARTMIGRATE</b>.</td>      </tr>      <tr>          <th>SENDMESSAGES</th>          <td>Send messages until queue is closed and all messages have          been sent. Go to state <b>CLOSED</b> when done. If the messenger          becomes closed then go to <b>ACQUIREMESSENGER</b>. <emphasis>If          there are no messages to send for <code>IDLEWORKERLINGER</code>          millisecondsthen the worker thread will exit. It will only be          restarted if another message is eventually enqueued.</emphasis>          </td>      </tr>      <tr>          <th>STARTVERIFY</th>          <td>Starts a verification query(s) to the destination peer. This          state is activated after          <code>PipeServiceImpl.VERIFYINTERVAL</code> milliseconds of          sending messages. The query responses will be tracked in the          <b>PENDINGVERIFY</b> state.</td>      </tr>      <tr>          <th>STARTMIGRATE</th>          <td>Starts a query(s) for peers listening on this pipe. The          query responses will be tracked in the <b>PENDINGMIGRATE</b>          state.</td>      </tr>      <tr>          <th>PENDINGVERIFY</th>          <td>Issues query messages to verify that the destination peer is          still listening on the pipe. Queries are issued every          <code>QUERYINTERVAL</code> milliseconds. If a positive response          is received, go to state <b>ACQUIREMESSENGER</b>. If no response          is received within <b>QUERYTIMEOUT</b> milliseconds or a          negative response is received then go to state          <b>STARTMIGRATE</b>.</td>      </tr>      <tr>          <th>PENDINGMIGRATE</th>          <td>Issues query messages to find a new destination peer.          Queries are issued every <code>QUERYINTERVAL</code> milliseconds.          If a positive response is received, go to state          <b>ACQUIREMESSENGER</b>. If no positive response from an          eligible peer is received within <b>QUERYTIMEOUT</b>          milliseconds go to state <b>CLOSED</b>.</td>      </tr>      <tr>          <th>CLOSED</th>          <td>Exit the worker thread.</td>      </tr>      </tbody>  </table><P><DD><DL><DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>java.lang.Runnable</CODE></DL></DD><DD><DL></DL></DD></DL><HR><A NAME="mkAddress(net.jxta.id.ID, net.jxta.id.ID)"><!-- --></A><H3>mkAddress</H3><PRE>protected <A HREF="../../../../net/jxta/endpoint/EndpointAddress.html" title="class in net.jxta.endpoint">EndpointAddress</A> <B>mkAddress</B>(<A HREF="../../../../net/jxta/id/ID.html" title="class in net.jxta.id">ID</A>&nbsp;destPeer,                                    <A HREF="../../../../net/jxta/id/ID.html" title="class in net.jxta.id">ID</A>&nbsp;pipeID)</PRE><DL><DD>Convenience method for constructing a peer endpoint address from its  peer id<P><DD><DL></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>destPeer</CODE> - the desitnation peer<DD><CODE>pipeID</CODE> - the pipe to put in the param field.<DT><B>Returns:</B><DD>the pipe endpoint address.</DL></DD></DL><HR><A NAME="pipeNAKEvent(net.jxta.impl.pipe.PipeResolver.Event)"><!-- --></A><H3>pipeNAKEvent</H3><PRE>public boolean <B>pipeNAKEvent</B>(<A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Event.html" title="class in net.jxta.impl.pipe">PipeResolver.Event</A>&nbsp;event)</PRE><DL><DD>A NAK Event was recieved for this pipe<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Listener.html#pipeNAKEvent(net.jxta.impl.pipe.PipeResolver.Event)">pipeNAKEvent</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Listener.html" title="interface in net.jxta.impl.pipe">PipeResolver.Listener</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>true if the event was handled otherwise false</DL></DD></DL><HR><A NAME="pipeResolveEvent(net.jxta.impl.pipe.PipeResolver.Event)"><!-- --></A><H3>pipeResolveEvent</H3><PRE>public boolean <B>pipeResolveEvent</B>(<A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Event.html" title="class in net.jxta.impl.pipe">PipeResolver.Event</A>&nbsp;event)</PRE><DL><DD>Pipe Resolve Event<P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Listener.html#pipeResolveEvent(net.jxta.impl.pipe.PipeResolver.Event)">pipeResolveEvent</A></CODE> in interface <CODE><A HREF="../../../../net/jxta/impl/pipe/PipeResolver.Listener.html" title="interface in net.jxta.impl.pipe">PipeResolver.Listener</A></CODE></DL></DD><DD><DL><DT><B>Returns:</B><DD>true if the event was handled otherwise false</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" 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_bottom_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/NonBlockingOutputPipe.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>JXTA J2SE</EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../net/jxta/impl/pipe/InputPipeImpl.html" title="class in net.jxta.impl.pipe"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../net/jxta/impl/pipe/NonBlockingOutputPipe.workerState.html" title="class in net.jxta.impl.pipe"><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="NonBlockingOutputPipe.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&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;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR></BODY></HTML>

⌨️ 快捷键说明

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