buffermanagerreadgrow.java

来自「JAVA 所有包」· Java 代码 · 共 82 行

JAVA
82
字号
/* * @(#)BufferManagerReadGrow.java	1.21 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.encoding;import java.nio.ByteBuffer;import com.sun.corba.se.spi.orb.ORB;import com.sun.corba.se.spi.logging.CORBALogDomains;import com.sun.corba.se.impl.protocol.giopmsgheaders.FragmentMessage;import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;import com.sun.corba.se.impl.logging.ORBUtilSystemException;public class BufferManagerReadGrow    implements BufferManagerRead, MarkAndResetHandler{    // REVISIT - This should go in an abstract class called    //           BufferManagerReadBase which should implement    //           BufferManagerRead. Then, this class should extend    //           BufferManagerReadBase.    private ORB orb ;    private ORBUtilSystemException wrapper ;     BufferManagerReadGrow( ORB orb )     {	this.orb = orb ;	this.wrapper = ORBUtilSystemException.get( orb,	    CORBALogDomains.RPC_ENCODING ) ;    }    public void processFragment (ByteBuffer byteBuffer, FragmentMessage header)    {        // REVISIT - should we consider throwing an exception similar to what's        //           done for underflow()???    }    public void init(Message msg) {}    public ByteBufferWithInfo underflow (ByteBufferWithInfo bbwi)    {	throw wrapper.unexpectedEof() ;    }    public void cancelProcessing(int requestId) {}        // Mark and reset handler -------------------------    private Object streamMemento;    private RestorableInputStream inputStream;    private boolean markEngaged = false;    public MarkAndResetHandler getMarkAndResetHandler() {        return this;    }    public void mark(RestorableInputStream is) {        markEngaged = true;        inputStream = is;        streamMemento = inputStream.createStreamMemento();    }    // This will never happen    public void fragmentationOccured(ByteBufferWithInfo newFragment) {}    public void reset() {        if (!markEngaged)            return;        markEngaged = false;        inputStream.restoreInternalState(streamMemento);        streamMemento = null;    }    // Nothing to close and cleanup.    public void close(ByteBufferWithInfo bbwi) {}}

⌨️ 快捷键说明

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