Project Darkstar Server 0.9.9.6 External API

Provides the interface to the Project Darkstar Server.

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.

Implementation-specific information

Configuration properties

See this document for a list of configuration properties supported by the current implementation of the Project Darkstar Server.

Additional Protocol Semantics

In addition to the semantics for protocol messages given in SimpleSgsProtocol, the current implementation of the Project Darkstar Server provides the following semantics for messages: At this time, the Project Darkstar Server does not implement a response to the 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.

Modifications and updates to managed objects

You can using logging to obtain information about instances of 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.

API conventions

Interfaces in this API do not extend 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.

Documentation conventions

Unless explicitly specified otherwise, all documentation for these APIs uses the following conventions: Methods that can accept or return 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

Copyright © 2007-2009 Sun Microsystems, Inc. All rights reserved