gr.uoa.di.madgik.grs.store.buffer.multiplex
Interface IMultiplex

All Known Implementing Classes:
FifoMultiplex, FirstAvailableMultiplex

public interface IMultiplex

Interfaces implemented by classes that are able to multiplex a number of incoming locators based on a specific order or algorithm. The multiplexing type they perform is one of the ones defined in IBufferStore.MultiplexType. Implementations of this class must define a default no argument constructor

Author:
gpapanikos

Method Summary
 void dispose()
          Dispose all internally managed information but not the externally provided entries
 void multiplex()
          Perform the multiplexing operation
 void setBufferStore(IBufferStore bufferStore)
          The IBufferStore that is receiving the multiplexed Records
 void setEntries(java.util.ArrayList<BufferStoreEntry> entries)
          The entries over which the implementation needs to act
 void setModificationNotify(java.lang.Object notify)
          Set the synchronization object to be used in a standard wait / notify block to notify when a new Record has been made available from any of the readers
 

Method Detail

setModificationNotify

void setModificationNotify(java.lang.Object notify)
Set the synchronization object to be used in a standard wait / notify block to notify when a new Record has been made available from any of the readers

Parameters:
notify - the synchronization object

setEntries

void setEntries(java.util.ArrayList<BufferStoreEntry> entries)
The entries over which the implementation needs to act

Parameters:
entries - the entries to multiplex

setBufferStore

void setBufferStore(IBufferStore bufferStore)
The IBufferStore that is receiving the multiplexed Records

Parameters:
bufferStore - the IBufferStore this multiplex implementation is acting for

dispose

void dispose()
Dispose all internally managed information but not the externally provided entries


multiplex

void multiplex()
               throws GRS2BufferStoreException
Perform the multiplexing operation

Throws:
GRS2BufferStoreException - there was a problem during the multiplexing procedure