RLPark 1.0.0
Reinforcement Learning Framework in Java

Zephyr.java

Go to the documentation of this file.
00001 package zephyr.plugin.core.api;
00002 
00003 import java.util.ArrayList;
00004 import java.util.List;
00005 
00006 import zephyr.plugin.core.api.internal.monitoring.abstracts.MonitorRegistry;
00007 import zephyr.plugin.core.api.internal.monitoring.abstracts.MonitorSynchronizer;
00008 import zephyr.plugin.core.api.monitoring.abstracts.DataMonitor;
00009 import zephyr.plugin.core.api.signals.Signal;
00010 import zephyr.plugin.core.api.synchronization.Clock;
00011 
00012 public class Zephyr {
00013   static public class AdvertisementInfo {
00014     public final Clock clock;
00015     public final Object advertised;
00016     public final String label;
00017 
00018     AdvertisementInfo(Clock clock, Object advertised, String label) {
00019       this.clock = clock;
00020       this.advertised = advertised;
00021       this.label = label;
00022     }
00023   }
00024 
00025   static public final Signal<AdvertisementInfo> onAdvertised = new Signal<AdvertisementInfo>();
00026 
00027   static public void advertise(Clock clock, Object advertised) {
00028     advertise(clock, advertised, null);
00029   }
00030 
00031   static public void advertise(Clock clock, Object advertised, String label) {
00032     onAdvertised.fire(new AdvertisementInfo(clock, advertised, label));
00033   }
00034 
00035   static public DataMonitor getSynchronizedMonitor(Clock clock) {
00036     List<DataMonitor> monitors = new ArrayList<DataMonitor>();
00037     for (MonitorSynchronizer factory : MonitorRegistry.factories)
00038       monitors.add(factory.getSyncMonitor(clock));
00039     return new MonitorRegistry.MonitorCollection(monitors);
00040   }
00041 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark