Tasks #438

Implement Server/RemoteServer

Added by J. Moringen over 12 years ago. Updated over 12 years ago.

Status:ResolvedStart date:07/21/2011
Priority:NormalDue date:
Assignee:S. Wrede% Done:

100%

Category:Java
Target version:0.4

Associated revisions

Revision 05f84cfb
Added by J. Moringen over 12 years ago

Initial client/server infrastructure in src/rsb/patterns/
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

Revision b12af6b9
Added by J. Moringen over 12 years ago

Added state management in src/rsb/patterns/Server.java
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

Revision 22e9b355
Added by J. Moringen over 12 years ago

Fixed Server constructs in src/rsb/patterns/{Local,Remote}Server.java
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

Revision fe4ecb6a
Added by J. Moringen over 12 years ago

Added create{Local,Remote}Server in src/rsb/Factory.java
refs #438
  • src/rsb/Factory.java: added methods create{Local,Remote}Server which
    create LocalServer and RemoteServer objects respectively

Revision d7325bdd
Added by J. Moringen over 12 years ago

Added state management in src/rsb/patterns/Method.java
refs #438
  • src/rsb/patterns/Method.java: added nested classes for state
    management and a basic implementation of the RSBObject methods

Revision 891285da
Added by J. Moringen over 12 years ago

Added getMethods method in src/rsb/patterns/Server.java
refs #438
  • src/rsb/patterns/Server.java: added new method Server.getMethods
    which returns a Collection of all methods

Revision d05c8819
Added by J. Moringen over 12 years ago

Added RemoteMethod class in src/rsb/patterns/RemoteMethod.java
refs #438
  • src/rsb/patterns/RemoteMethod.java: new class RemoteMethod;
    represents a remote method and implements its invocation

Revision a4848572
Added by J. Moringen over 12 years ago

Initialize member in src/rsb/patterns/Server.java
refs #438
  • src/rsb/patterns/Server.java: initialize methods map

Revision b478aedb
Added by J. Moringen over 12 years ago

Added infrastructure for LocalServer class in src/rsb/patterns/
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

Revision 1f8cf64d
Added by S. Wrede over 12 years ago

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.

Revision 7f8d883e
Added by S. Wrede over 12 years ago

Some bits of work on Request-Reply implementation.
This commit refs #438.
Extended tests.

Revision 0ef530dd
Added by S. Wrede over 12 years ago

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

Revision 0b1cabf0
Added by S. Wrede over 12 years ago

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

Revision 7f59dea1
Added by S. Wrede over 12 years ago

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

Revision 8d2b5504
Added by S. Wrede over 12 years ago

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.

Revision 9accf04c
Added by S. Wrede over 12 years ago

Some bits of work on Request-Reply implementation.
  • Initial implementation of remote server.
  • Extended tests.
    This commit refs #438.

Revision b713944e
Added by S. Wrede over 12 years ago

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.

Revision 5ab71c43
Added by S. Wrede over 12 years ago

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.

Revision bc03da50
Added by S. Wrede over 12 years ago

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.

Revision 5260229c
Added by S. Wrede over 12 years ago

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.

Also available in: Atom PDF