|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
See:
Description
| Packages | |
|---|---|
| com.sun.sgs.app | Provides the interface to the Project Darkstar Server used by application developers. |
| com.sun.sgs.app.util | Provides utilities for use by Project Darkstar Server application developers. |
| com.sun.sgs.internal | Provides implementation hooks for a Project Darkstar Server to configure the underlying behavior of the system. |
| com.sun.sgs.protocol.simple | Protocol specification classes. |
Provides the interface to the Project Darkstar Server.
SimpleSgsProtocol, the current implementation of
the Project Darkstar Server provides the following semantics for messages:
Opcode
other than those specified in the protocol specification, or with an
Opcode that defines a message that should only be sent to
a client, or the message is malformed in other ways, the server will
disconnect the client session that was the origin of the message;LOGIN_REQUEST, the message
will be ignored;LOGIN_REQUEST that specifies the
same identity as an existing user, the behavior of the server is
determined by the value of the
com.sun.sgs.impl.service.session.allow.new.login property. If
the value of that property is false (the default value) the
new login is not permitted and the server responds with a
LOGIN_FAILURE. If the value of the property is
true, the user's existing session is disconnected, and a new
login is allowed to proceed.RECONNECT_REQUEST Opcode. The current implementation treats such a
request as an unknown Opcode and will disconnect any client sending
such a request. Similarly, the current implementation of the Project Darkstar
server will not send messages beginning with the RECONNECT_SUCCESS
or RECONNECT_FALURE Opcodes.
ManagedObject that were modified without being marked
for update. Developers can use this information to help determine if
they can safely disable the automatic detection of object modifications
— see the documentation for the com.sun.sgs.impl.service.data.DataServiceImpl.detect.modifications
property.
Information about managed objects that were modified and not marked for
update is logged to the Logger named
com.sun.sgs.impl.service.data.DataServiceImpl.detect.modifications at
level FINEST. This logging is
only performed if detection of modifications is enabled.
Serializable even
if classes that implement those interfaces are required to implement
it.
The API uses this approach to avoid an issue involving
the serialVersionUID field. To guard
against serialVersionUID mismatches, as well as to improve
performance, any class or interface that
extends Serializable should declare a
serialVersionUID field. Since public interfaces can only
declare public members, a public interface that
extends Serializable would need to have a
public serialVersionUID field, meaning that any classes
implementing the interface would inherit
its serialVersionUID, and so would be prevented from
controlling their versioning separately. This issue does not crop up
for interfaces that do not extend Serializable, since they by
definition have a serialVersionUID of 0.
null is not explicitly specified as an acceptable
value for a method parameter, then the method does not
permit null to be passed as a value for that
parameter, and will throw a NullPointerException
if null is passed (though it is left unspecified
whether or not NullPointerException takes precedence
over other types of exceptions that could also be thrown).
null is not explicitly specified as an acceptable
value for a method to return, then the method is not permitted to
return null.
null is not explicitly specified as an acceptable
value for a given collection (e.g. Collection,
List, or Set) to contain, then
the collection is not permitted to contain null
elements.
null values generally
specify this at least in their parameter-level (i.e. @param
tag) or return value-level (i.e. @return tag)
documentation.
|
Project Darkstar, Version 0.9.9.6 2009-05-08 15:39:40 |
|||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||