Java Code Examples for com.sun.corba.se.impl.encoding.ByteBufferWithInfo

The following are top voted examples for showing how to use com.sun.corba.se.impl.encoding.ByteBufferWithInfo. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: OpenJSharp   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 2
Project: OpenJSharp   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 3
Project: openjdk-jdk10   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 4
Project: openjdk-jdk10   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param connection The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 5
Project: openjdk9   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 6
Project: openjdk9   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param connection The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 7
Project: lookaside_java-1.8.0-openjdk   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 8
Project: lookaside_java-1.8.0-openjdk   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 9
Project: jdk8u_corba   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 10
Project: jdk8u_corba   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 11
Project: infobip-open-jdk-8   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 12
Project: infobip-open-jdk-8   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 13
Project: openjdk-source-code-learn   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 14
Project: openjdk-source-code-learn   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 15
Project: OLD-OpenJDK8   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 16
Project: OLD-OpenJDK8   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 17
Project: openjdk-orb   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 18
Project: openjdk-orb   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 19
Project: openjdk-icedtea7   File: CDROutputStream_1_0.java   Source Code and License 6 votes vote down vote up
public void init(org.omg.CORBA.ORB orb,
                    boolean littleEndian,
                    BufferManagerWrite bufferManager,
                    byte streamFormatVersion,
                    boolean usePooledByteBuffers)
{
    // ORB must not be null.  See CDROutputStream constructor.
    this.orb = (ORB)orb;
    this.wrapper = ORBUtilSystemException.get( this.orb,
        CORBALogDomains.RPC_ENCODING ) ;
    debug = this.orb.transportDebugFlag;

    this.littleEndian = littleEndian;
    this.bufferManagerWrite = bufferManager;
    this.bbwi = new ByteBufferWithInfo(orb, bufferManager, usePooledByteBuffers);
    this.streamFormatVersion = streamFormatVersion;

    createRepositoryIdHandlers();
}
 
Example 20
Project: openjdk-icedtea7   File: CDROutputObject.java   Source Code and License 6 votes vote down vote up
/**
 * Write the contents of the CDROutputStream to the specified
 * output stream.  Has the side-effect of pushing any current
 * Message onto the Message list.
 * @param s The output stream to write to.
 */
public void writeTo(CorbaConnection connection)
    throws java.io.IOException
{

    //
    // Update the GIOP MessageHeader size field.
    //

    ByteBufferWithInfo bbwi = getByteBufferWithInfo();

    getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());

    if (orb() != null) {
        if (((ORB)orb()).transportDebugFlag) {
            dprint(".writeTo: " + connection);
        }
        if (((ORB)orb()).giopDebugFlag) {
            CDROutputStream_1_0.printBuffer(bbwi);
        }
    }
    bbwi.byteBuffer.position(0).limit(bbwi.getSize());
    connection.write(bbwi.byteBuffer);
}
 
Example 21
Project: OpenJSharp   File: MessageBase.java   Source Code and License 5 votes vote down vote up
public static Message readGIOPBody(ORB orb,
                                   CorbaConnection connection,
                                   Message msg)
{
    ReadTimeouts readTimeouts =
                       orb.getORBData().getTransportTCPReadTimeouts();
    ByteBuffer buf = msg.getByteBuffer();

    buf.position(MessageBase.GIOPMessageHeaderLength);
    int msgSizeMinusHeader =
        msg.getSize() - MessageBase.GIOPMessageHeaderLength;
    try {
        buf = connection.read(buf,
                      GIOPMessageHeaderLength, msgSizeMinusHeader,
                      readTimeouts.get_max_time_to_wait());
    } catch (IOException e) {
        throw wrapper.ioexceptionWhenReadingConnection(e);
    }

    msg.setByteBuffer(buf);

    if (orb.giopDebugFlag) {
        dprint(".readGIOPBody: received message:");
        ByteBuffer viewBuffer = buf.asReadOnlyBuffer();
        viewBuffer.position(0).limit(msg.getSize());
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo(orb, viewBuffer);
        CDRInputStream_1_0.printBuffer(bbwi);
    }

    return msg;
}
 
Example 22
Project: OpenJSharp   File: BufferManagerWriteStream.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    try {
       sendFragment(false);
    } catch(SystemException se){
            orb.getPIHandler().invokeClientPIEndingPoint(
                    ReplyMessage.SYSTEM_EXCEPTION, se);
            throw se;
    }

    // Reuse the old buffer

    // REVISIT - need to account for case when needed > available
    // even after fragmenting.  This is the large array case, so
    // the caller should retry when it runs out of space.
    bbwi.position(0);
    bbwi.buflen = bbwi.byteBuffer.limit();
    bbwi.fragmented = true;

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    FragmentMessage header = ((CDROutputObject)outputObject).getMessageHeader().createFragmentMessage();

    header.write(((CDROutputObject)outputObject));
}
 
Example 23
Project: OpenJSharp   File: BufferManagerWriteGrow.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // The code that once lived directly in CDROutputStream.grow()
    // has been moved ByteBufferWithInfo.growBuffer().

    // Grow ByteBufferWithInfo to a larger size.
    bbwi.growBuffer(orb);

    // Must be false for the grow case
    bbwi.fragmented = false;
}
 
Example 24
Project: OpenJSharp   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    // Enqueue the previous fragment
    queue.enqueue(bbwi);

    // Create a new bbwi
    ByteBufferWithInfo newBbwi = new ByteBufferWithInfo(orb, this);
    newBbwi.fragmented = true;

    // XREVISIT - Downcast
    ((CDROutputObject)outputObject).setByteBufferWithInfo(newBbwi);

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    // XREVISIT - Downcast
    FragmentMessage header =
          ((CDROutputObject)outputObject).getMessageHeader()
                                         .createFragmentMessage();

    header.write((CDROutputObject)outputObject);
}
 
Example 25
Project: OpenJSharp   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
/**
 * Close the BufferManagerWrite - do any outstanding cleanup.
 *
 * For a BufferManagerWriteGrow any queued ByteBufferWithInfo must
 * have its ByteBuffer released to the ByteBufferPool.
 */
public void close()
{
    // iterate thru queue and release any ByteBufferWithInfo's
    // ByteBuffer that may be remaining on the queue to the
    // ByteBufferPool.

    Iterator bufs = iterator();

    ByteBufferPool byteBufferPool = orb.getByteBufferPool();

    while (bufs.hasNext())
    {
        ByteBufferWithInfo bbwi = (ByteBufferWithInfo)bufs.next();
        if (bbwi != null && bbwi.byteBuffer != null)
        {
            if (debug)
            {
                // print address of ByteBuffer being released
                int bbAddress = System.identityHashCode(bbwi.byteBuffer);
                StringBuffer sb = new StringBuffer(80);
                sb.append("close() - releasing ByteBuffer id (");
                sb.append(bbAddress).append(") to ByteBufferPool.");
                String msg = sb.toString();
                dprint(msg);
            }
             byteBufferPool.releaseByteBuffer(bbwi.byteBuffer);
             bbwi.byteBuffer = null;
             bbwi = null;
        }
    }
}
 
Example 26
Project: MaxSim   File: Test6852078.java   Source Code and License 5 votes vote down vote up
public Test6852078(String [] args) {

        int capacity = 128;
        ByteBuffer bb = ByteBuffer.allocateDirect(capacity);
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo( CorbaUtils.getOrb(null, -1, new Hashtable()), bb);
        byte[] tmpBuf;
        tmpBuf = new byte[bbwi.buflen];

        for (int i = 0; i < capacity; i++)
            tmpBuf[i] = bbwi.byteBuffer.get(i);
    }
 
Example 27
Project: openjdk-jdk10   File: Test6852078.java   Source Code and License 5 votes vote down vote up
public Test6852078(String [] args) {

        int capacity = 128;
        ByteBuffer bb = ByteBuffer.allocateDirect(capacity);
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo( CorbaUtils.getOrb(null, -1, new Hashtable()), bb);
        byte[] tmpBuf;
        tmpBuf = new byte[bbwi.buflen];

        for (int i = 0; i < capacity; i++)
            tmpBuf[i] = bbwi.byteBuffer.get(i);
    }
 
Example 28
Project: openjdk-jdk10   File: MessageBase.java   Source Code and License 5 votes vote down vote up
public static Message readGIOPBody(ORB orb,
                                   CorbaConnection connection,
                                   Message msg)
{
    ReadTimeouts readTimeouts =
                       orb.getORBData().getTransportTCPReadTimeouts();
    ByteBuffer buf = msg.getByteBuffer();

    buf.position(MessageBase.GIOPMessageHeaderLength);
    int msgSizeMinusHeader =
        msg.getSize() - MessageBase.GIOPMessageHeaderLength;
    try {
        buf = connection.read(buf,
                      GIOPMessageHeaderLength, msgSizeMinusHeader,
                      readTimeouts.get_max_time_to_wait());
    } catch (IOException e) {
        throw wrapper.ioexceptionWhenReadingConnection(e);
    }

    msg.setByteBuffer(buf);

    if (orb.giopDebugFlag) {
        dprint(".readGIOPBody: received message:");
        ByteBuffer viewBuffer = buf.asReadOnlyBuffer();
        viewBuffer.position(0).limit(msg.getSize());
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo(orb, viewBuffer);
        CDRInputStream_1_0.printBuffer(bbwi);
    }

    return msg;
}
 
Example 29
Project: openjdk-jdk10   File: BufferManagerWriteStream.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    try {
       sendFragment(false);
    } catch(SystemException se){
            orb.getPIHandler().invokeClientPIEndingPoint(
                    ReplyMessage.SYSTEM_EXCEPTION, se);
            throw se;
    }

    // Reuse the old buffer

    // REVISIT - need to account for case when needed > available
    // even after fragmenting.  This is the large array case, so
    // the caller should retry when it runs out of space.
    bbwi.position(0);
    bbwi.buflen = bbwi.byteBuffer.limit();
    bbwi.fragmented = true;

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    FragmentMessage header = ((CDROutputObject)outputObject).getMessageHeader().createFragmentMessage();

    header.write(((CDROutputObject)outputObject));
}
 
Example 30
Project: openjdk-jdk10   File: BufferManagerWriteGrow.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // The code that once lived directly in CDROutputStream.grow()
    // has been moved ByteBufferWithInfo.growBuffer().

    // Grow ByteBufferWithInfo to a larger size.
    bbwi.growBuffer(orb);

    // Must be false for the grow case
    bbwi.fragmented = false;
}
 
Example 31
Project: openjdk-jdk10   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    // Enqueue the previous fragment
    queue.enqueue(bbwi);

    // Create a new bbwi
    ByteBufferWithInfo newBbwi = new ByteBufferWithInfo(orb, this);
    newBbwi.fragmented = true;

    // XREVISIT - Downcast
    ((CDROutputObject)outputObject).setByteBufferWithInfo(newBbwi);

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    // XREVISIT - Downcast
    FragmentMessage header =
          ((CDROutputObject)outputObject).getMessageHeader()
                                         .createFragmentMessage();

    header.write((CDROutputObject)outputObject);
}
 
Example 32
Project: openjdk-jdk10   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
/**
 * Close the BufferManagerWrite - do any outstanding cleanup.
 *
 * For a BufferManagerWriteGrow any queued ByteBufferWithInfo must
 * have its ByteBuffer released to the ByteBufferPool.
 */
public void close()
{
    // iterate thru queue and release any ByteBufferWithInfo's
    // ByteBuffer that may be remaining on the queue to the
    // ByteBufferPool.

    Iterator bufs = iterator();

    ByteBufferPool byteBufferPool = orb.getByteBufferPool();

    while (bufs.hasNext())
    {
        ByteBufferWithInfo bbwi = (ByteBufferWithInfo)bufs.next();
        if (bbwi != null && bbwi.byteBuffer != null)
        {
            if (debug)
            {
                // print address of ByteBuffer being released
                int bbAddress = System.identityHashCode(bbwi.byteBuffer);
                StringBuffer sb = new StringBuffer(80);
                sb.append("close() - releasing ByteBuffer id (");
                sb.append(bbAddress).append(") to ByteBufferPool.");
                String msg = sb.toString();
                dprint(msg);
            }
             byteBufferPool.releaseByteBuffer(bbwi.byteBuffer);
             bbwi.byteBuffer = null;
             bbwi = null;
        }
    }
}
 
Example 33
Project: openjdk9   File: Test6852078.java   Source Code and License 5 votes vote down vote up
public Test6852078(String [] args) {

        int capacity = 128;
        ByteBuffer bb = ByteBuffer.allocateDirect(capacity);
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo( CorbaUtils.getOrb(null, -1, new Hashtable()), bb);
        byte[] tmpBuf;
        tmpBuf = new byte[bbwi.buflen];

        for (int i = 0; i < capacity; i++)
            tmpBuf[i] = bbwi.byteBuffer.get(i);
    }
 
Example 34
Project: openjdk9   File: MessageBase.java   Source Code and License 5 votes vote down vote up
public static Message readGIOPBody(ORB orb,
                                   CorbaConnection connection,
                                   Message msg)
{
    ReadTimeouts readTimeouts =
                       orb.getORBData().getTransportTCPReadTimeouts();
    ByteBuffer buf = msg.getByteBuffer();

    buf.position(MessageBase.GIOPMessageHeaderLength);
    int msgSizeMinusHeader =
        msg.getSize() - MessageBase.GIOPMessageHeaderLength;
    try {
        buf = connection.read(buf,
                      GIOPMessageHeaderLength, msgSizeMinusHeader,
                      readTimeouts.get_max_time_to_wait());
    } catch (IOException e) {
        throw wrapper.ioexceptionWhenReadingConnection(e);
    }

    msg.setByteBuffer(buf);

    if (orb.giopDebugFlag) {
        dprint(".readGIOPBody: received message:");
        ByteBuffer viewBuffer = buf.asReadOnlyBuffer();
        viewBuffer.position(0).limit(msg.getSize());
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo(orb, viewBuffer);
        CDRInputStream_1_0.printBuffer(bbwi);
    }

    return msg;
}
 
Example 35
Project: openjdk9   File: BufferManagerWriteStream.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    try {
       sendFragment(false);
    } catch(SystemException se){
            orb.getPIHandler().invokeClientPIEndingPoint(
                    ReplyMessage.SYSTEM_EXCEPTION, se);
            throw se;
    }

    // Reuse the old buffer

    // REVISIT - need to account for case when needed > available
    // even after fragmenting.  This is the large array case, so
    // the caller should retry when it runs out of space.
    bbwi.position(0);
    bbwi.buflen = bbwi.byteBuffer.limit();
    bbwi.fragmented = true;

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    FragmentMessage header = ((CDROutputObject)outputObject).getMessageHeader().createFragmentMessage();

    header.write(((CDROutputObject)outputObject));
}
 
Example 36
Project: openjdk9   File: BufferManagerWriteGrow.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // The code that once lived directly in CDROutputStream.grow()
    // has been moved ByteBufferWithInfo.growBuffer().

    // Grow ByteBufferWithInfo to a larger size.
    bbwi.growBuffer(orb);

    // Must be false for the grow case
    bbwi.fragmented = false;
}
 
Example 37
Project: openjdk9   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
public void overflow (ByteBufferWithInfo bbwi)
{
    // Set the fragment's moreFragments field to true
    MessageBase.setFlag(bbwi.byteBuffer, Message.MORE_FRAGMENTS_BIT);

    // Enqueue the previous fragment
    queue.enqueue(bbwi);

    // Create a new bbwi
    ByteBufferWithInfo newBbwi = new ByteBufferWithInfo(orb, this);
    newBbwi.fragmented = true;

    // XREVISIT - Downcast
    ((CDROutputObject)outputObject).setByteBufferWithInfo(newBbwi);

    // Now we must marshal in the fragment header/GIOP header

    // REVISIT - we can optimize this by not creating the fragment message
    // each time.

    // XREVISIT - Downcast
    FragmentMessage header =
          ((CDROutputObject)outputObject).getMessageHeader()
                                         .createFragmentMessage();

    header.write((CDROutputObject)outputObject);
}
 
Example 38
Project: openjdk9   File: BufferManagerWriteCollect.java   Source Code and License 5 votes vote down vote up
/**
 * Close the BufferManagerWrite - do any outstanding cleanup.
 *
 * For a BufferManagerWriteGrow any queued ByteBufferWithInfo must
 * have its ByteBuffer released to the ByteBufferPool.
 */
public void close()
{
    // iterate thru queue and release any ByteBufferWithInfo's
    // ByteBuffer that may be remaining on the queue to the
    // ByteBufferPool.

    Iterator bufs = iterator();

    ByteBufferPool byteBufferPool = orb.getByteBufferPool();

    while (bufs.hasNext())
    {
        ByteBufferWithInfo bbwi = (ByteBufferWithInfo)bufs.next();
        if (bbwi != null && bbwi.byteBuffer != null)
        {
            if (debug)
            {
                // print address of ByteBuffer being released
                int bbAddress = System.identityHashCode(bbwi.byteBuffer);
                StringBuffer sb = new StringBuffer(80);
                sb.append("close() - releasing ByteBuffer id (");
                sb.append(bbAddress).append(") to ByteBufferPool.");
                String msg = sb.toString();
                dprint(msg);
            }
             byteBufferPool.releaseByteBuffer(bbwi.byteBuffer);
             bbwi.byteBuffer = null;
             bbwi = null;
        }
    }
}
 
Example 39
Project: lookaside_java-1.8.0-openjdk   File: Test6852078.java   Source Code and License 5 votes vote down vote up
public Test6852078(String [] args) {

        int capacity = 128;
        ByteBuffer bb = ByteBuffer.allocateDirect(capacity);
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo( CorbaUtils.getOrb(null, -1, new Hashtable()), bb);
        byte[] tmpBuf;
        tmpBuf = new byte[bbwi.buflen];

        for (int i = 0; i < capacity; i++)
            tmpBuf[i] = bbwi.byteBuffer.get(i);
    }
 
Example 40
Project: lookaside_java-1.8.0-openjdk   File: MessageBase.java   Source Code and License 5 votes vote down vote up
public static Message readGIOPBody(ORB orb,
                                   CorbaConnection connection,
                                   Message msg)
{
    ReadTimeouts readTimeouts =
                       orb.getORBData().getTransportTCPReadTimeouts();
    ByteBuffer buf = msg.getByteBuffer();

    buf.position(MessageBase.GIOPMessageHeaderLength);
    int msgSizeMinusHeader =
        msg.getSize() - MessageBase.GIOPMessageHeaderLength;
    try {
        buf = connection.read(buf,
                      GIOPMessageHeaderLength, msgSizeMinusHeader,
                      readTimeouts.get_max_time_to_wait());
    } catch (IOException e) {
        throw wrapper.ioexceptionWhenReadingConnection(e);
    }

    msg.setByteBuffer(buf);

    if (orb.giopDebugFlag) {
        dprint(".readGIOPBody: received message:");
        ByteBuffer viewBuffer = buf.asReadOnlyBuffer();
        viewBuffer.position(0).limit(msg.getSize());
        ByteBufferWithInfo bbwi = new ByteBufferWithInfo(orb, viewBuffer);
        CDRInputStream_1_0.printBuffer(bbwi);
    }

    return msg;
}