当前位置: 首页>>代码示例>>Java>>正文


Java ByteBuffer.setAutoExpand方法代码示例

本文整理汇总了Java中org.apache.mina.common.ByteBuffer.setAutoExpand方法的典型用法代码示例。如果您正苦于以下问题:Java ByteBuffer.setAutoExpand方法的具体用法?Java ByteBuffer.setAutoExpand怎么用?Java ByteBuffer.setAutoExpand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.mina.common.ByteBuffer的用法示例。


在下文中一共展示了ByteBuffer.setAutoExpand方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testCompletedStanza

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
public void testCompletedStanza() throws Exception {
    String msg1 = "<message><something xmlns=\"http://idetalk.com/namespace\">12";
    in.putString(msg1, Charset.forName(CHARSET).newEncoder());
    in.flip();
    // Fill parser with byte buffer content and parse it
    parser.read(in);
    // Make verifications
    assertFalse("Found messages in incomplete stanza", parser.areThereMsgs());

    String msg2 = "</something></message>";
    ByteBuffer in2 = ByteBuffer.allocate(4096);
    in2.setAutoExpand(true);
    in2.putString(msg2, Charset.forName(CHARSET).newEncoder());
    in2.flip();
    // Fill parser with byte buffer content and parse it
    parser.read(in2);
    in2.release();
    assertTrue("Stream header is not being correctly parsed", parser.areThereMsgs());
    String[] values = parser.getMsgs();
    assertEquals("Wrong number of parsed stanzas", 1, values.length);
    assertEquals("Wrong stanza was parsed", msg1 + msg2, values[0]);
}
 
开发者ID:igniterealtime,项目名称:Openfire-connectionmanager,代码行数:23,代码来源:XMLLightweightParserTest.java

示例2: deliver

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
public void deliver(Packet packet) throws UnauthorizedException {
    if (isClosed()) {
        backupDeliverer.deliver(packet);
    }
    else {
        ByteBuffer buffer = ByteBuffer.allocate(4096);
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
            XMLWriter xmlSerializer =
                    new XMLWriter(new ByteBufferWriter(buffer, encoder.get()), new OutputFormat());
            xmlSerializer.write(packet.getElement());
            xmlSerializer.flush();
            if (flashClient) {
                buffer.put((byte) '\0');
            }
            buffer.flip();
            ioSession.write(buffer);
        }
        catch (Exception e) {
            Log.debug("NIOConnection: Error delivering packet" + "\n" + this.toString(), e);
            errorDelivering = true;
        }
        if (errorDelivering) {
            close();
            // Retry sending the packet again. Most probably if the packet is a
            // Message it will be stored offline
            backupDeliverer.deliver(packet);
        }
        else {
            session.incrementServerPacketCount();
        }
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:36,代码来源:NIOConnection.java

示例3: deliverRawText

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
private void deliverRawText(String text, boolean asynchronous) {
    if (!isClosed()) {
        ByteBuffer buffer = ByteBuffer.allocate(text.length());
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
            //Charset charset = Charset.forName(CHARSET);
            //buffer.putString(text, charset.newEncoder());
            buffer.put(text.getBytes(CHARSET));
            if (flashClient) {
                buffer.put((byte) '\0');
            }
            buffer.flip();
            if (asynchronous) {
                ioSession.write(buffer);
            }
            else {
                // Send stanza and wait for ACK (using a 2 seconds default timeout)
                boolean ok =
                        ioSession.write(buffer).join(JiveGlobals.getIntProperty("connection.ack.timeout", 2000));
                if (!ok) {
                    Log.warn("No ACK was received when sending stanza to: " + this.toString());
                }
            }
        }
        catch (Exception e) {
            Log.debug("NIOConnection: Error delivering raw text" + "\n" + this.toString(), e);
            errorDelivering = true;
        }
        // Close the connection if delivering text fails and we are already not closing the connection
        if (errorDelivering && asynchronous) {
            close();
        }
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:37,代码来源:NIOConnection.java

示例4: storeRemainingInSession

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
private void storeRemainingInSession(ByteBuffer buf, IoSession session)
{
    ByteBuffer remainingBuf = SIMPLE_BYTE_BUFFER_ALLOCATOR.allocate( buf.remaining(), false );
    remainingBuf.setAutoExpand( true );
    remainingBuf.put( buf );
    session.setAttribute( BUFFER, remainingBuf );
}
 
开发者ID:wso2,项目名称:andes,代码行数:8,代码来源:AMQDecoder.java

示例5: deliverRawText

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
public void deliverRawText(String text, boolean asynchronous) {
    if (!isClosed()) {
        ByteBuffer buffer = ByteBuffer.allocate(text.length());
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
            //Charset charset = Charset.forName(CHARSET);
            //buffer.putString(text, charset.newEncoder());
            buffer.put(text.getBytes(CHARSET));
            if (flashClient) {
                buffer.put((byte) '\0');
            }
            buffer.flip();
            if (asynchronous) {
                ioSession.write(buffer);
            }
            else {
                // Send stanza and wait for ACK (using a 2 seconds default timeout)
                boolean ok =
                        ioSession.write(buffer).join(JiveGlobals.getIntProperty("connection.ack.timeout", 2000));
                if (!ok) {
                    Log.warn("No ACK was received when sending stanza to: " + this.toString());
                }
            }
        }
        catch (Exception e) {
            Log.debug("Error delivering raw text" + "\n" + this.toString(), e);
            errorDelivering = true;
        }
        if (errorDelivering) {
            close();
        }
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire-connectionmanager,代码行数:36,代码来源:NIOConnection.java

示例6: deliver

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
public void deliver(Packet packet) throws UnauthorizedException {
    if (isClosed()) {
        backupDeliverer.deliver(packet);
    }
    else {
        ByteBuffer buffer = ByteBuffer.allocate(4096);
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
        	// OF-464: if the connection has been dropped, fail over to backupDeliverer (offline)
        	if (!ioSession.isConnected()) {
        		throw new IOException("Connection reset/closed by peer");
        	}
            XMLWriter xmlSerializer =
                    new XMLWriter(new ByteBufferWriter(buffer, encoder.get()), new OutputFormat());
            xmlSerializer.write(packet.getElement());
            xmlSerializer.flush();
            if (flashClient) {
                buffer.put((byte) '\0');
            }
            buffer.flip();
            ioSession.write(buffer);
        }
        catch (Exception e) {
            Log.debug("Error delivering packet:\n" + packet, e);
            errorDelivering = true;
        }
        if (errorDelivering) {
            close();
            // Retry sending the packet again. Most probably if the packet is a
            // Message it will be stored offline
            backupDeliverer.deliver(packet);
        }
        else {
            session.incrementServerPacketCount();
        }
    }
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:40,代码来源:NIOConnection.java

示例7: deliverRawText

import org.apache.mina.common.ByteBuffer; //导入方法依赖的package包/类
private void deliverRawText(String text, boolean asynchronous) {
    if (!isClosed()) {
        ByteBuffer buffer = ByteBuffer.allocate(text.length());
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
            //Charset charset = Charset.forName(CHARSET);
            //buffer.putString(text, charset.newEncoder());
            buffer.put(text.getBytes(CHARSET));
            if (flashClient) {
                buffer.put((byte) '\0');
            }
            buffer.flip();
            if (asynchronous) {
            	// OF-464: handle dropped connections (no backupDeliverer in this case?)
            	if (!ioSession.isConnected()) {
            		throw new IOException("Connection reset/closed by peer");
            	}
                ioSession.write(buffer);
            }
            else {
                // Send stanza and wait for ACK (using a 2 seconds default timeout)
                boolean ok =
                        ioSession.write(buffer).join(JiveGlobals.getIntProperty("connection.ack.timeout", 2000));
                if (!ok) {
                    Log.warn("No ACK was received when sending stanza to: " + this.toString());
                }
            }
        }
        catch (Exception e) {
            Log.debug("Error delivering raw text:\n" + text, e);
            errorDelivering = true;
        }
        // Close the connection if delivering text fails and we are already not closing the connection
        if (errorDelivering && asynchronous) {
            close();
        }
    }
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:41,代码来源:NIOConnection.java


注:本文中的org.apache.mina.common.ByteBuffer.setAutoExpand方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。