javax.realtime
Class ImmortalPhysicalMemory

java.lang.Object
  |
  +--javax.realtime.MemoryArea
        |
        +--javax.realtime.ImmortalPhysicalMemory

public class ImmortalPhysicalMemory
extends MemoryArea

An instance of ImmortalPhysicalMemory allows objects to be allocated from a range of physical memory with particular attributes, determined by their memory type. This memory area has the same restrictive set of assignment rules as ImmoratMemory memory areas, and may be used in any context where ImmortalMemory is appropriate. Objects allocated in immortal physical memory have a lifetime greater than the application as do objects allocated in immortal memory.


Field Summary
private  long base
           
private  java.lang.Runnable logic
           
private  long size
           
 
Fields inherited from class javax.realtime.MemoryArea
constant, heap, id, memoryConsumed, nullClassArr, nullMem, nullObjArr, scoped, shadow
 
Constructor Summary
ImmortalPhysicalMemory(long base, long size)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long size)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long base, long size)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long base, long size, java.lang.Runnable logic)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long size, java.lang.Runnable logic)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long base, javax.realtime.SizeEstimator size)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, long base, javax.realtime.SizeEstimator size, java.lang.Runnable logic)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, javax.realtime.SizeEstimator size)
          Create an instance with the given parameters.
ImmortalPhysicalMemory(java.lang.Object type, javax.realtime.SizeEstimator size, java.lang.Runnable logic)
          Create an instance with the given parameters.
 
Method Summary
protected  void initNative(long sizeInBytes)
           
 
Methods inherited from class javax.realtime.MemoryArea
bless, checkAccess, checkNewInstance, enter, enter, enterMemBlock, executeInArea, exitMemBlock, getMemoryArea, getOuterScope, memoryConsumed, memoryRemaining, newArray, newArray, newArray, newArray, newInstance, newInstance, newInstance, newInstance, postSetup, preSetup, registerFinal, shadow, size, startMem, stopMem, throwIllegalAssignmentError, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

base

private long base

size

private long size

logic

private java.lang.Runnable logic
Constructor Detail

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long size)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
size - The size of the area in bytes.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long base,
                              long size)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              OffsetOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException,
                              MemoryInUseException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
base - The physical memory adress of the area.
size - The size of the area in bytes.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.
OffsetOutOfBoundsException

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long base,
                              long size,
                              java.lang.Runnable logic)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              OffsetOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException,
                              MemoryInUseException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
base - The physical memory adress of the area.
size - The size of the area in bytes.
logic - The run() method of this object will be called whenever MemoryArea.enter() is called.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.
OffsetOutOfBoundsException

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long size,
                              java.lang.Runnable logic)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
size - The size of the area in bytes.
logic - The run() method of this object will be called whenever MemoryArea.enter() is called.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long base,
                              javax.realtime.SizeEstimator size)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              OffsetOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException,
                              MemoryInUseException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
base - The physical memory address of the area.
size - A size estimator for this memory area.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.
OffsetOutOfBoundsException

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              long base,
                              javax.realtime.SizeEstimator size,
                              java.lang.Runnable logic)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              OffsetOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException,
                              MemoryInUseException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
base - The physical memory address of the area.
size - A size estimator for this memory area.
logic - The run() method of this object will be called whenever MemoryArea.enter() is called.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.
OffsetOutOfBoundsException

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              javax.realtime.SizeEstimator size)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
size - A size estimator for this memory area. whenever MemoryArea.enter() is called.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(java.lang.Object type,
                              javax.realtime.SizeEstimator size,
                              java.lang.Runnable logic)
                       throws java.lang.SecurityException,
                              SizeOutOfBoundsException,
                              UnsupportedPhysicalMemoryException,
                              MemoryTypeConflictException
Create an instance with the given parameters.

Parameters:
type - An instance of Object representing the type of memory required (e.g. dma, share) -used to define the base address and control the mapping.
size - A size estimator for this memory area. whenever MemoryArea.enter() is called.
logic - The run() method of this object will be called whenever MemoryArea.enter() is called.
Throws:
java.lang.SecurityException - The application doesn't have permissions to access physical memory of the given type of memory.
SizeOutOfBoundsException - The size is negative or extends into an invalid range of memory.
UnsupportedPhysicalMemoryException - Thrown if the underlying hardware does not support the given type.
MemoryTypeConflictException - The specified base does not point to memory that matches the request type, or if type specifies attirbutes with a conflict.
MemoryInUseException - The specified memory is already in use.

ImmortalPhysicalMemory

public ImmortalPhysicalMemory(long base,
                              long size)
Create an instance with the given parameters.

Parameters:
base - The physical memory address of the area.
size - A size estimator for this memory area.
Method Detail

initNative

protected void initNative(long sizeInBytes)
Specified by:
initNative in class MemoryArea