|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface DataStoreServer
Defines the network interface for the data store server.
| Method Summary | |
|---|---|
void |
abort(long tid)
Aborts the transaction. |
void |
commit(long tid)
Commits the transaction. |
long |
createObject(long tid)
Reserves an object ID for a new object. |
long |
createTransaction(long timeout)
Creates a new transaction, and returns the associated ID, which will not be negative. |
BindingValue |
getBinding(long tid,
String name)
Obtains the object ID bound to a name. |
int |
getClassId(long tid,
byte[] classInfo)
Returns the class ID to represent classes with the specified class information. |
byte[] |
getClassInfo(long tid,
int classId)
Returns the class information associated with the specified class ID. |
byte[] |
getObject(long tid,
long oid,
boolean forUpdate)
Obtains the data associated with an object ID. |
void |
markForUpdate(long tid,
long oid)
Notifies the server that an object is going to be modified. |
long |
newNodeId()
Returns a new node ID for use with a newly started node. |
String |
nextBoundName(long tid,
String name)
Returns the next name after the specified name that has a binding, or null if there are no more bound names. |
long |
nextObjectId(long tid,
long oid)
Returns the object ID for the next object after the object with the specified ID, or -1 if there are no more objects. |
boolean |
prepare(long tid)
Prepares the transaction to commit. |
void |
prepareAndCommit(long tid)
Prepares and commits the transaction. |
BindingValue |
removeBinding(long tid,
String name)
Removes the binding for a name. |
void |
removeObject(long tid,
long oid)
Removes the object with the specified object ID. |
BindingValue |
setBinding(long tid,
String name,
long oid)
Binds an object ID to a name. |
void |
setObject(long tid,
long oid,
byte[] data)
Specifies data to associate with an object ID. |
void |
setObjects(long tid,
long[] oids,
byte[][] dataArray)
Specifies data to associate with a series of object IDs. |
| Method Detail |
|---|
long newNodeId()
throws IOException
IOException - if a network problem occurs
long createObject(long tid)
throws IOException
setObject is called. Aborting a transaction is also
not required to unassign any of the IDs so long as other operations
treat them as non-existent objects.
tid - the ID of the transaction under which the operation should
take place
IllegalArgumentException - if tid is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
void markForUpdate(long tid,
long oid)
throws IOException
tid - the ID of the transaction under which the operation should
take placeoid - the object ID
IllegalArgumentException - if tid or oid is
negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
byte[] getObject(long tid,
long oid,
boolean forUpdate)
throws IOException
forUpdate
parameter is true, the caller is stating its intention to modify
the object.
tid - the ID of the transaction under which the operation should
take placeoid - the object IDforUpdate - whether the caller intends to modify the object
IllegalArgumentException - if tid or oid is
negative
ObjectNotFoundException - if the object is not found
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
void setObject(long tid,
long oid,
byte[] data)
throws IOException
tid - the ID of the transaction under which the operation should
take placeoid - the object IDdata - the data
IllegalArgumentException - if tid or oid is
negative, or if data is empty
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
void setObjects(long tid,
long[] oids,
byte[][] dataArray)
throws IOException
tid - the ID of the transaction under which the operation should
take placeoids - the object IDsdataArray - the associated data values
IllegalArgumentException - if tid is negative, if
oids and data are not the same length, or if
oids contains a value that is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
void removeObject(long tid,
long oid)
throws IOException
tid - the ID of the transaction under which the operation should
take placeoid - the object ID
IllegalArgumentException - if tid or oid is
negative
ObjectNotFoundException - if the object is not found
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
BindingValue getBinding(long tid,
String name)
throws IOException
null. If the name is not bound, the return value contains an
object ID of -1 and the next name found, which may be null.
tid - the ID of the transaction under which the operation should
take placename - the name
IllegalArgumentException - if tid is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
BindingValue setBinding(long tid,
String name,
long oid)
throws IOException
null. If the name is not bound, the return value contains an object ID
of -1 and the next name found, which may be null.
tid - the ID of the transaction under which the operation should
take placename - the nameoid - the object ID
IllegalArgumentException - if tid or oid is
negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
BindingValue removeBinding(long tid,
String name)
throws IOException
-1. In all cases, the return value contains the next name
found, which may be null.
tid - the ID of the transaction under which the operation should
take placename - the name
IllegalArgumentException - if tid is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
String nextBoundName(long tid,
String name)
throws IOException
null if there are no more bound names. If name is
null, then the search starts at the beginning.
tid - the ID of the transaction under which the operation should
take placename - the name to search after, or null to start at the
beginning
name, or
null if there are no more bound names
IllegalArgumentException - if tid is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
int getClassId(long tid,
byte[] classInfo)
throws IOException
0. The
class information is the serialized form of the ObjectStreamClass instance that serialization uses to represent the
class.
tid - the ID of the transaction under which the operation should
take placeclassInfo - the class information
IllegalArgumentException - if tid is negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
byte[] getClassInfo(long tid,
int classId)
throws ClassInfoNotFoundException,
IOException
ObjectStreamClass instance that serialization uses to represent the
class.
tid - the ID of the transaction under which the operation should
take placeclassId - the class ID
IllegalArgumentException - if tid is negative, or if
classId is not greater than 0
ClassInfoNotFoundException - if the ID is not found
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
IllegalStateException - if the operation failed because of a
problem with the transaction
IOException - if a network problem occurs
long nextObjectId(long tid,
long oid)
throws IOException
-1 if there are no more objects. If objectId is -1, then returns the ID of the first object. The
IDs returned by this method will not include ones for objects that have
already been removed, and may not include identifiers for objects
created after an iteration has begun. It is not an error for the object
associated with the specified identifier to have already been
removed.
tid - the ID of the transactionoid - the identifier of the object to search after, or
-1 to request the first object
oid, or -1 if there are no more
objects
IllegalArgumentException - if tid or oid is
negative
TransactionAbortedException - if the transaction was aborted due
to a lock conflict or timeout
TransactionNotActiveException - if the transaction is not active
IllegalStateException - if the operation failed because of a
problem with the current transaction
IOException - if a network problem occurs
long createTransaction(long timeout)
throws IOException
timeout - the number of milliseconds the resulting transaction
should be allowed to run before it times out
IllegalArgumentException - if the argument is less than or equal
to 0
IOException - if a network problem occurs
boolean prepare(long tid)
throws IOException
true when no state
was modified, and neither commit or abort should be
called.
tid - the ID of the transaction
true if this participant is read-only, otherwise
false
IllegalArgumentException - if tid is negative
IllegalStateException - if the transaction has been prepared,
committed, or aborted, or if the transaction is not known
IOException - if a network problem occurs
void commit(long tid)
throws IOException
tid - the ID of the transaction
IllegalArgumentException - if tid is negative
IllegalStateException - if the transaction has not been
prepared, if it has been committed or aborted, or if the
transaction is not known
IOException - if a network problem occurs
void prepareAndCommit(long tid)
throws IOException
tid - the ID of the transaction
IllegalArgumentException - if tid is negative
IllegalStateException - if the transaction has been prepared,
committed, or aborted, or if the transaction is not known
IOException - if a network problem occurs
void abort(long tid)
throws IOException
tid - the ID of the transaction
IllegalArgumentException - if tid is negative
IllegalStateException - if the transaction has been committed or
aborted, or if the transaction is not known
IOException - if a network problem occurs
|
RedDwarf, Version 0.10.1 2010-03-14 10:56:12 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||