Ignore:
Timestamp:
07/16/13 23:31:35 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

for Joinables running

CHANGELOG:
Add WorkPackageLogic? and classes representing prime experiment state.

Add classes for PrimeExperiment? state.

Extract single netload routine in Simulator.

Working netload with dummy content in PrimeExperiment?.

More development with NetLoadSaveLogic? and PrimeExperiment?.

Improvement around prime.

Improve BufferedDispatcher?.isActive logic.

Add prime-all.xml configuration.

Manual connecting to existing simulators from GUI.

Guard in SimulatorConnector? against expdef mismatch.

Guard against empty target dispatcher in BufferedDispatcher?.

Make BufferedDispatcher? a Dispatcher (and Joinable).

Minor improvements.

Done StackedJoinable?, improve Experiment.

Develop StackedJoinable?.

Add StackedJoinable? utility joinables controller.

Add dependency on apache-commons-lang.

Add ready ListChange? on Simulators.

Improve hints in ListChange?.

Several improvements.

Found bug with dispatching in Experiment.

Minor improvements.

Fix bug with early finishing Server.

Many changes in Dispatching.

Fix bug with connection.

Do not obfuscate log with socket related exceptions.

Add SocketClosedException?.

Add SimulatorConnector?.

Work out conception of experiment composing of logics building blocks.

Rename SinkInterface? to Sink.

Move saving of Accesses into AccessOperations?.

Some improvements to Experiment.

Improve joinables.

Fix issue with joinables closing.

Add direct and managed consoles to popup menu.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/remote/RemoteTree.java

    r101 r102  
    5656        }
    5757
     58        public void setAddress(Address address) {
     59                this.connection = Connection.to(new ClientSideManagedConnection(), address);
     60                this.connection.setExceptionHandler(this);
     61                this.connection.setNeedFileAcceptor(this);
     62        }
     63
    5864        @ParamAnnotation
    5965        public void setAddress(String address) {
    60                 this.connection = Connection.to(new ClientSideManagedConnection(), new Address(address));
    61                 this.connection.setExceptionHandler(this);
    62                 this.connection.setNeedFileAcceptor(this);
     66                setAddress(new Address(address));
    6367        }
    6468
     
    7276        }
    7377
     78
    7479        @Override
    7580        public String toString() {
    76                 assert Dispatching.isThreadSafe();
    77                 return "remote tree " + getName() + "(" + getAddress() + ")";
     81                return super.toString() + "[" + getAddress() + "]";
    7882        }
    7983
     
    102106        //      assert param != null;
    103107        //      // assert path.isResolved();
    104         //      //TODO only do that if needed
    105108        //      connection.send(new GetRequest().field(param.getId()).path(path.getTextual()), this, new ClientSideResponseFuture(pathRemoveHandler(path, future)) {
    106109        //              @Override
     
    116119
    117120
     121        /** Fetch information.
     122         *
     123         * This method does not check whether the info is already in the cache, it will always issue a request or join
     124         * with other already issued but returned info request. Too issue request only when needed, use TreeOperations.findInfo()
     125         *
     126         * */
    118127        @Override
    119128        public void info(final Path path, final Future<FramsClass> future) {
     
    153162                });
    154163
    155                 //TODO: if the info is in the cache, then don't communicate
    156164                connection.send(new InfoRequest().path(path.getTextual()), AtOnceDispatcher.getInstance(), new ClientSideResponseFuture(compositeFuture) {
    157165                        @Override
     
    203211
    204212                log.trace("storing value {} for {}", param, path);
    205                 //TODO break in passing exception handler is here
     213
    206214                connection.send(new SetRequest().value(value.toString()).field(param.getId()).path(path.getTextual()), this, new ClientSideResponseFuture(future) {
    207215                        @Override
     
    224232                                        @Override
    225233                                        protected void processOk(Response response) {
    226                                                 FramsClass framsClass = processFetchedInfo(RemoteTree.this, response.getFiles().get(0));
     234                                                assert bufferedDispatcher.getTargetDispatcher().isActive();
     235                                                FramsClass framsClass = Loaders.loadFramsClass(response.getFiles().get(0).getContent());
     236                                                putInfoIntoCache(framsClass);
     237
    227238                                                assignRootParam(Param.build().name("Tree").id(RemoteTree.this.getName()).type("o " + framsClass.getId()).finish(CompositeParam.class));
    228239                                                bufferedDispatcher.setBuffer(false);
Note: See TracChangeset for help on using the changeset viewer.