private int writeBuffer(java.nio.ByteBuffer byteBuffer,
                            long byteAddress)
                    throws ObjectManagerException
    {
        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.entry(this,
                        cclass,
                        "writeBuffer",
                        new Object[] { new Integer(byteBuffer.hashCode()), new Long(byteAddress) }
                            );

        // Write the bytes.
        int bytesWritten = 0;
        try {
            while (byteBuffer.hasRemaining()) {
                bytesWritten = bytesWritten + storeChannel.write(byteBuffer,
                                                                 byteAddress + bytesWritten);
            } // while (byteBuffer.hasRemaining()).
        } catch (java.io.IOException exception) {
            // No FFDC Code Needed.
            ObjectManager.ffdc.processException(this, cclass, "writeBuffer", exception, "1:833:1.39");

            if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                trace.exit(this,
                           cclass,
                           "writeBuffer");

            // cannot continue
            objectManagerState.requestShutdown();
            throw new PermanentIOException(this,
                                           exception);
        } // catch.

        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.exit(this,
                       cclass,
                       "writeBuffer",
                       new Object[] { new Integer(bytesWritten) });
        return bytesWritten;
    }
private int writeBuffer ( java . nio . ByteBuffer byteBuffer , long byteAddress ) throws ObjectManagerException { if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . entry ( this , cclass , "writeBuffer" , new Object [ ] { new Integer ( byteBuffer . hashCode ( ) ) , new Long ( byteAddress ) } ) ; int bytesWritten = 0 ; try { while ( byteBuffer . hasRemaining ( ) ) { bytesWritten = bytesWritten + storeChannel . write ( byteBuffer , byteAddress + bytesWritten ) ; } } catch ( java . io . IOException exception ) { ObjectManager . ffdc . processException ( this , cclass , "writeBuffer" , exception , "1:833:1.39" ) ; if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( this , cclass , "writeBuffer" ) ; objectManagerState . requestShutdown ( ) ; throw new PermanentIOException ( this , exception ) ; } if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( this , cclass , "writeBuffer" , new Object [ ] { new Integer ( bytesWritten ) } ) ; return bytesWritten ; }
Write a byteBuffer. May return before the write completes.

@param byteBuffer to be written.
@param byteAddress that the buffer is to be was written at.
@return int the number of bytes written.
@throws ObjectManagerException