Tasks #438
Implement Server/RemoteServer
Status: | Resolved | Start date: | 07/21/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | S. Wrede | % Done: | 100% | |
Category: | Java | |||
Target version: | 0.4 |
Associated revisions
Initial client/server infrastructure in src/rsb/patterns/
refs #438
refs #438
- src/rsb/patterns/Method.java: new file; contains abstract Method
superclass for remote and local Method classes - src/rsb/patterns/Server.java: new file; contains abstract Server
superclass for remote and local Server classes
Added state management in src/rsb/patterns/Server.java
refs #438
refs #438
- src/rsb/patterns/LocalServer.java: fixed documentation comments
- src/rsb/patterns/RemoteServer.java: removed state management;
implemented in superclass - src/rsb/patterns/Server.java: added nested classes ServerState,
ServerStateActive and ServerStateInactive; implemented isActive(),
activate() and deactivate() using these
Fixed Server constructs in src/rsb/patterns/{Local,Remote}Server.java
refs #438
refs #438
- src/rsb/patterns/LocalServer.java: removed transportFactory and
portConfig parameters - src/rsb/patterns/RemoteServer.java: likewise; made constructor
public; added constructor without timeout parameter
Added create{Local,Remote}Server in src/rsb/Factory.java
refs #438
refs #438
- src/rsb/Factory.java: added methods create{Local,Remote}Server which
create LocalServer and RemoteServer objects respectively
Added state management in src/rsb/patterns/Method.java
refs #438
refs #438
- src/rsb/patterns/Method.java: added nested classes for state
management and a basic implementation of the RSBObject methods
Added getMethods method in src/rsb/patterns/Server.java
refs #438
refs #438
- src/rsb/patterns/Server.java: added new method Server.getMethods
which returns a Collection of all methods
Added RemoteMethod class in src/rsb/patterns/RemoteMethod.java
refs #438
refs #438
- src/rsb/patterns/RemoteMethod.java: new class RemoteMethod;
represents a remote method and implements its invocation
Initialize member in src/rsb/patterns/Server.java
refs #438
refs #438
- src/rsb/patterns/Server.java: initialize methods map
Added infrastructure for LocalServer class in src/rsb/patterns/
refs #438
refs #438
- src/rsb/patterns/DataCallback.java: new file; contains DataCallback
interface which dispatches arbitrary objects to method-implementing
callback objects - src/rsb/patterns/EventCallback.java: new file; contains
EventCallback interface which dispatches RSB events to
method-implementing callback objects - src/rsb/patterns/LocalMethod.java: new file; contains LocalMethod
class which will be used to represent and implement exposed local
methods - src/rsb/patterns/LocalServer.java: added method
LocalServer.addMethod
Extended and extracted ServerState class
Minimal test case for Server class
Fixed a bug in protobuf tutorial when using protocol buffers 2.2
Renamed DataHandler to AbstractDataHandler
This commit refs #438.
Some bits of work on Request-Reply implementation.
This commit refs #438.
Extended tests.
Some bits of work on Request-Reply implementation.
- Method class now correctly instantiates Informer / Listener pair
- Removed unnecessary NotFoundException in Informer.activate()
- Extended server test.
This commit refs #438.
test-compile now depends on clean target
Some bits of work on Request-Reply implementation.
- Added RequestHandler class as acceptor for requests
- EventProcessor is now instantiated upon activation of Router to allow earlier handler registration
This commit refs #438.
Changed AbstractFilter class: - Removed String-based Id methods as EventId is actually a unique key
- Changed name generation to use class.getShortname
- Removed implementation of transformEvent from AbstractFilter as this is the key method to be implemented by derived classes and as such it should be an error to not implement it
Fixed a number of warnings in the Spread Java source
Some bits of work on Request-Reply implementation.
- Added Method filter
- Added Method field to Event and corresponding handling in Spread serialization
This commit refs #438.
Changed EventHandler to AbstractEventHandler
Some bits of work on Request-Reply implementation.
- Initial implementation of request handling according to specification
- Added initial test for request handling
This commit refs #438.
Some bits of work on Request-Reply implementation.
- Initial implementation of remote server.
- Extended tests.
This commit refs #438.
Some bits of work on Request-Reply implementation.
- Initial working version of request/reply in Java.
- Added AsyncRequest as Future implementation.
- Extended tests.
This commit refs #438.
Some bits of work on Request-Reply implementation.
- Fixing of request-reply
- Call with data objects works
- Refactored AsyncRequest to Future
- Bug fix in Future.get (spurious wakeups)
- Extended tests.
This commit refs #438.
Almost final bits of work on Request-Reply implementation.
- Refactored RequestHandler into LocalMethod
- Added possibilty to register Event-based callbacks at LocalServer
- Reduced verbosity of logging statements for 0.4 release.
- Extended tests.
This commit refs #438.
Final bits of work on Request-Reply implementation.
- Implemented asynchronous request calls
- Refactored RemoteMethod, split specific aspects into Remote[Data|Event]Method
- Reduced verbosity of logging statements for 0.4 release.
- Extended tests.
This commit refs #438.
History
#1 Updated by S. Wrede over 12 years ago
Thx! ;-)
#2 Updated by S. Wrede over 12 years ago
- Target version changed from rsb-0.10 to 0.4
#3 Updated by J. Moringen over 12 years ago
- Assignee changed from S. Wrede to J. Moringen
#4 Updated by J. Moringen over 12 years ago
- % Done changed from 0 to 30
#5 Updated by J. Moringen over 12 years ago
- Status changed from New to In Progress
- Assignee changed from J. Moringen to S. Wrede
- % Done changed from 30 to 50
#6 Updated by S. Wrede over 12 years ago
- % Done changed from 50 to 70
Basic functionality is working but so far not tested in integration test.
#7 Updated by S. Wrede over 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 70 to 100
Data and event signatures implemented. This finally allows (a)sycnhronous request/reply in Java.