|
||||||||||
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 |