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

📄 demuxingprotocoldecoder.html

📁 MINA+API 关于MINA的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><!-- Generated by javadoc (build 1.6.0_04) on Tue Feb 19 10:50:43 MST 2008 --><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><TITLE>DemuxingProtocolDecoder (Apache MINA 2.0.0-M1 API Documentation)</TITLE><META NAME="date" CONTENT="2008-02-19"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    if (location.href.indexOf('is-external=true') == -1) {        parent.document.title="DemuxingProtocolDecoder (Apache MINA 2.0.0-M1 API Documentation)";    }}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><HR><!-- ========= 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=2 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/DemuxingProtocolDecoder.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></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">&nbsp;<A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolCodecFactory.html" title="class in org.apache.mina.filter.codec.demux"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolEncoder.html" title="class in org.apache.mina.filter.codec.demux"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../../../../../index.html?org/apache/mina/filter/codec/demux/DemuxingProtocolDecoder.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="DemuxingProtocolDecoder.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;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_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.apache.mina.filter.codec.demux</FONT><BR>Class DemuxingProtocolDecoder</H2><PRE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/mina/filter/codec/ProtocolDecoderAdapter.html" title="class in org.apache.mina.filter.codec">org.apache.mina.filter.codec.ProtocolDecoderAdapter</A>      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/mina/filter/codec/CumulativeProtocolDecoder.html" title="class in org.apache.mina.filter.codec">org.apache.mina.filter.codec.CumulativeProtocolDecoder</A>          <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html" title="interface in org.apache.mina.filter.codec">ProtocolDecoder</A></DD></DL><HR><DL><DT><PRE>public class <B>DemuxingProtocolDecoder</B><DT>extends <A HREF="../../../../../../org/apache/mina/filter/codec/CumulativeProtocolDecoder.html" title="class in org.apache.mina.filter.codec">CumulativeProtocolDecoder</A></DL></PRE><P>A composite <A HREF="../../../../../../org/apache/mina/filter/codec/ProtocolDecoder.html" title="interface in org.apache.mina.filter.codec"><CODE>ProtocolDecoder</CODE></A> that demultiplexes incoming <A HREF="../../../../../../org/apache/mina/common/IoBuffer.html" title="class in org.apache.mina.common"><CODE>IoBuffer</CODE></A> decoding requests into an appropriate <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A>.  <h2>Internal mechanism of <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A> selection</h2> <p> <ol> <li><A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolDecoder.html" title="class in org.apache.mina.filter.codec.demux"><CODE>DemuxingProtocolDecoder</CODE></A> iterates the list of candidate <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A>s and calls <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html#decodable(org.apache.mina.common.IoSession, org.apache.mina.common.IoBuffer)"><CODE>MessageDecoder.decodable(IoSession, IoBuffer)</CODE></A>. Initially, all registered <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A>s are candidates.</li> <li>If <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#NOT_OK"><CODE>MessageDecoderResult.NOT_OK</CODE></A> is returned, it is removed from the candidate     list.</li> <li>If <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#NEED_DATA"><CODE>MessageDecoderResult.NEED_DATA</CODE></A> is returned, it is retained in the candidate     list, and its <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html#decodable(org.apache.mina.common.IoSession, org.apache.mina.common.IoBuffer)"><CODE>MessageDecoder.decodable(IoSession, IoBuffer)</CODE></A> will be invoked     again when more data is received.</li> <li>If <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#OK"><CODE>MessageDecoderResult.OK</CODE></A> is returned, <A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolDecoder.html" title="class in org.apache.mina.filter.codec.demux"><CODE>DemuxingProtocolDecoder</CODE></A>     found the right <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A>.</li> <li>If there's no candidate left, an exception is raised.  Otherwise,      <A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolDecoder.html" title="class in org.apache.mina.filter.codec.demux"><CODE>DemuxingProtocolDecoder</CODE></A> will keep iterating the candidate list. </ol>  Please note that any change of position and limit of the specified <A HREF="../../../../../../org/apache/mina/common/IoBuffer.html" title="class in org.apache.mina.common"><CODE>IoBuffer</CODE></A> in <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html#decodable(org.apache.mina.common.IoSession, org.apache.mina.common.IoBuffer)"><CODE>MessageDecoder.decodable(IoSession, IoBuffer)</CODE></A> will be reverted back to its original value. <p> Once a <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html" title="interface in org.apache.mina.filter.codec.demux"><CODE>MessageDecoder</CODE></A> is selected, <A HREF="../../../../../../org/apache/mina/filter/codec/demux/DemuxingProtocolDecoder.html" title="class in org.apache.mina.filter.codec.demux"><CODE>DemuxingProtocolDecoder</CODE></A> calls <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html#decode(org.apache.mina.common.IoSession, org.apache.mina.common.IoBuffer, org.apache.mina.filter.codec.ProtocolDecoderOutput)"><CODE>MessageDecoder.decode(IoSession, IoBuffer, ProtocolDecoderOutput)</CODE></A> continuously reading its return value: <ul> <li><A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#NOT_OK"><CODE>MessageDecoderResult.NOT_OK</CODE></A> - protocol violation; <A HREF="../../../../../../org/apache/mina/filter/codec/ProtocolDecoderException.html" title="class in org.apache.mina.filter.codec"><CODE>ProtocolDecoderException</CODE></A>                                           is raised automatically.</li> <li><A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#NEED_DATA"><CODE>MessageDecoderResult.NEED_DATA</CODE></A> - needs more data to read the whole message;                                              <A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoder.html#decode(org.apache.mina.common.IoSession, org.apache.mina.common.IoBuffer, org.apache.mina.filter.codec.ProtocolDecoderOutput)"><CODE>MessageDecoder.decode(IoSession, IoBuffer, ProtocolDecoderOutput)</CODE></A>                                              will be invoked again when more data is received.</li> <li><A HREF="../../../../../../org/apache/mina/filter/codec/demux/MessageDecoderResult.html#OK"><CODE>MessageDecoderResult.OK</CODE></A> - successfully decoded a message; the candidate list will                                       be reset and the selection process will start over.</li> </ul><P><P><DL><DT><B>Version:</B></DT>  <DD>$Rev: 612026 $, $Date: 2008-01-14 23:16:14 -0700 (Mon, 14 Jan 2008) $</DD>

⌨️ 快捷键说明

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