public void append()

in activeio-core/src/main/java/org/apache/activeio/journal/active/LogFileManager.java [308:328]


    public void append(BatchedWrite write) throws IOException {

        if (!appendNode.isActive())
            throw new IllegalStateException("Log file is not active.  Writes are not allowed");
        if (appendNode.isReadOnly())
            throw new IllegalStateException("Log file has been marked Read Only.  Writes are not allowed");

        // Write and force the data to disk.
        LogFile logFile = appendNode.getLogFile();
        ByteBuffer buffer = ((ByteBufferPacket)write.getPacket().getAdapter(ByteBufferPacket.class)).getByteBuffer();
        int size = buffer.remaining();
        logFile.write(appendNode.getAppendOffset(), buffer);
        if( write.getForce() )
            logFile.force();

        // Update state
        appendNode.appended(size);
        if (write.getMark() != null) {
            updateMark(write.getMark());
        }
    }