org.jboss.messaging.core.journal.impl
Class AIOSequentialFileFactory

java.lang.Object
  extended by org.jboss.messaging.core.journal.impl.AbstractSequentialFactory
      extended by org.jboss.messaging.core.journal.impl.AIOSequentialFileFactory
All Implemented Interfaces:
SequentialFileFactory

public class AIOSequentialFileFactory
extends AbstractSequentialFactory

A AIOSequentialFileFactory

Author:
clebert.suconic@jboss.com

Field Summary
 
Fields inherited from class org.jboss.messaging.core.journal.impl.AbstractSequentialFactory
journalDir
 
Constructor Summary
AIOSequentialFileFactory(java.lang.String journalDir)
           
AIOSequentialFileFactory(java.lang.String journalDir, int bufferSize, long bufferTimeout, boolean flushOnSync, boolean logRates)
           
 
Method Summary
 void activate(SequentialFile file)
          The factory may need to do some initialization before the file is activated.
 int calculateBlockSize(int position)
           
 void clearBuffer(java.nio.ByteBuffer directByteBuffer)
           
 void controlBuffersLifeCycle(boolean value)
           
 SequentialFile createSequentialFile(java.lang.String fileName, int maxIO)
           
 void deactivate(SequentialFile file)
           
protected  void finalize()
           
 int getAlignment()
           
static boolean isSupported()
           
 boolean isSupportsCallbacks()
           
 java.nio.ByteBuffer newBuffer(int size)
           
 void releaseBuffer(java.nio.ByteBuffer buffer)
           
 void start()
           
 void stop()
           
 java.nio.ByteBuffer wrapBuffer(byte[] bytes)
           
 
Methods inherited from class org.jboss.messaging.core.journal.impl.AbstractSequentialFactory
createDirs, listFiles
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AIOSequentialFileFactory

public AIOSequentialFileFactory(java.lang.String journalDir)

AIOSequentialFileFactory

public AIOSequentialFileFactory(java.lang.String journalDir,
                                int bufferSize,
                                long bufferTimeout,
                                boolean flushOnSync,
                                boolean logRates)
Method Detail

activate

public void activate(SequentialFile file)
Description copied from interface: SequentialFileFactory
The factory may need to do some initialization before the file is activated. this was added as a hook for AIO to initialize the Observer on TimedBuffer. It could be eventually done the same on NIO if we implement TimedBuffer on NIO

Specified by:
activate in interface SequentialFileFactory
Overrides:
activate in class AbstractSequentialFactory

deactivate

public void deactivate(SequentialFile file)
Specified by:
deactivate in interface SequentialFileFactory
Overrides:
deactivate in class AbstractSequentialFactory

createSequentialFile

public SequentialFile createSequentialFile(java.lang.String fileName,
                                           int maxIO)

isSupportsCallbacks

public boolean isSupportsCallbacks()

isSupported

public static boolean isSupported()

controlBuffersLifeCycle

public void controlBuffersLifeCycle(boolean value)
Specified by:
controlBuffersLifeCycle in interface SequentialFileFactory
Overrides:
controlBuffersLifeCycle in class AbstractSequentialFactory

newBuffer

public java.nio.ByteBuffer newBuffer(int size)

clearBuffer

public void clearBuffer(java.nio.ByteBuffer directByteBuffer)

getAlignment

public int getAlignment()

wrapBuffer

public java.nio.ByteBuffer wrapBuffer(byte[] bytes)

calculateBlockSize

public int calculateBlockSize(int position)

releaseBuffer

public void releaseBuffer(java.nio.ByteBuffer buffer)
Specified by:
releaseBuffer in interface SequentialFileFactory
Overrides:
releaseBuffer in class AbstractSequentialFactory

start

public void start()
Specified by:
start in interface SequentialFileFactory
Overrides:
start in class AbstractSequentialFactory

stop

public void stop()
Specified by:
stop in interface SequentialFileFactory
Overrides:
stop in class AbstractSequentialFactory

finalize

protected void finalize()
Overrides:
finalize in class java.lang.Object


Copyright © 2006 JBoss Inc. All Rights Reserved.