/** * Installs this observer into this node. * Can called several times the object is registered only once. * * @param iClass hint to the framework about which ActorObserver interface this object represents. * Can be null if there are no ambiguities. * @param observer the object to install * @param <T> The type of reference class returned. * @return a remote reference that can be sent to actors, the runtime will chose one id */ default <T extends ActorObserver> T registerObserver(final Class<T> iClass, final T observer) { return registerObserver(iClass, null, observer); }
@Override public Task<?> start() { localReference = runtime.registerObserver(ClientSideStreamProxy.class, null, this); return Task.done(); }
@Override public void onActive(final HandlerContext ctx) throws Exception { runtime.registerObserver(ExecutionCacheFlushObserver.class, "", this); super.onActive(ctx); }
@Override public void write(Kryo kryo, Output output, Object object) { ActorObserver objectReference = BasicRuntime.getRuntime().registerObserver(null, (ActorObserver) object); RemoteReference reference = (RemoteReference) objectReference; ReferenceReplacement replacement = new ReferenceReplacement(); replacement.address = reference.address; replacement.interfaceClass = reference._interfaceClass(); replacement.id = reference.id; kryo.writeObject(output, replacement); }
ActorObserver objectReference = runtime.registerObserver(null, (ActorObserver) obj); reference = (RemoteReference) objectReference;
/** * Installs this observer into this node. * Can called several times the object is registered only once. * * @param iClass hint to the framework about which ActorObserver interface this object represents. * Can be null if there are no ambiguities. * @param observer the object to install * @param <T> The type of reference class returned. * @return a remote reference that can be sent to actors, the runtime will chose one id */ default <T extends ActorObserver> T registerObserver(final Class<T> iClass, final T observer) { return registerObserver(iClass, null, observer); }