public void addActor(Actor act) { Actor ref = act.getActorRef(); Actor thisActor = act.getActor(); ref.__currentDispatcher = this; if ( thisActor != null ) // pseudo interface thisActor.__currentDispatcher = this; toAdd.offer(ref); }
public void setFacadeActor(Actor facadeActor) { this.facadeActor = facadeActor; if ( facadeActor.getActor().getClass().getAnnotation(Secured.class) != null) { secured = true; } }
@CallerSideMethod public void __addStopHandler( Callback<SELF> cb ) { if ( __stopHandlers == null ) { getActorRef().__stopHandlers = new ConcurrentLinkedQueue(); getActor().__stopHandlers = getActorRef().__stopHandlers; } __stopHandlers.add(cb); }
public void setFacadeActor(Actor facadeActor) { this.facadeActor = facadeActor; if ( facadeActor.getActor().getClass().getAnnotation(Secured.class) != null) { secured = true; } }
/** * warning: MThreaded * @param actor */ protected void remoteRefStopped(Actor actor) { removeRemoteActor(actor); actor.getActorRef().__stopped = true; actor.getActor().__stopped = true; }
/** * @return wether this is the "real" implementation or the proxy object */ @CallerSideMethod public boolean isProxy() { return getActor() != this; }
@CallerSideMethod public void __addStopHandler( Callback<SELF> cb ) { if ( __stopHandlers == null ) { getActorRef().__stopHandlers = new ConcurrentLinkedQueue(); getActor().__stopHandlers = getActorRef().__stopHandlers; } __stopHandlers.add(cb); }
/** * @return wether this is the "real" implementation or the proxy object */ @CallerSideMethod public boolean isProxy() { return getActor() != this; }
@Local public void router$handleServiceDisconnect(Actor x) { //FIXME: reply pending callbacks / promises with error boolean remove = remoteServices.remove(x.getActor()); if ( ! remove ) remove = remoteServices.remove(x.getActorRef()); if ( ! remove ) { // can happen multiple times } else { Log.Info(this, "removed service "+x); } }
@Local public void router$handleServiceDisconnect(Actor x) { //FIXME: reply pending callbacks / promises with error boolean remove = remoteServices.remove(x.getActor()); if ( ! remove ) remove = remoteServices.remove(x.getActorRef()); if ( ! remove ) { // can happen multiple times } else { Log.Info(this, "removed service "+x); } }
@Local public void router$handleServiceDisconnect(Actor x) { //FIXME: reply pending callbacks / promises with error List<Actor> newList = remoteServices.stream() .filter(rs -> rs != x.getActor() && rs != x.getActorRef()) .collect(Collectors.toList()); boolean remove = newList.size() != remoteServices.size(); if ( ! remove ) { // can happen multiple times } else { remoteServices = newList; Log.Info(this, "removed service "+x); } }
@Override @Local public IPromise getReport() { return new Promise( new ActorReport(getActor().getClass().getSimpleName(), getMailboxSize(), getCallbackSize() ) ); }
@CallerSideMethod public void __addRemoteConnection( ConnectionRegistry con ) { if ( __connections == null ) { getActorRef().__connections = new ConcurrentLinkedQueue<ConnectionRegistry>(); getActor().__connections = getActorRef().__connections; } if ( ! __connections.contains(con) ) { __connections.add(con); if ( this instanceof RemotedActor) { String connectionIdentifier = con.getSocketRef().getConnectionIdentifier(); ((RemotedActor) this).hasBeenPublished(connectionIdentifier); } } }
/** * avoids exception when closing an actor after stop has been called. */ @CallerSideMethod public void stopSafeClose() { if ( isStopped() ) { getActor().close(); // is threadsafe } else { self().close(); } }
@CallerSideMethod public void __addRemoteConnection( ConnectionRegistry con ) { if ( __connections == null ) { getActorRef().__connections = new ConcurrentLinkedQueue<ConnectionRegistry>(); getActor().__connections = getActorRef().__connections; } if ( ! __connections.contains(con) ) { __connections.add(con); if ( this instanceof RemotedActor) { String connectionIdentifier = con.getSocketRef().getConnectionIdentifier(); ((RemotedActor) this).hasBeenPublished(connectionIdentifier); } } }
/** * avoids exception when closing an actor after stop has been called. */ @CallerSideMethod public void stopSafeClose() { if ( isStopped() ) { getActor().close(); // is threadsafe } else { self().close(); } }
@Local public void router$handleServiceDisconnect(Actor x) { if ( x.getActor() == getRemoteRef() || x.getActorRef() == getRemoteRef() ) setRemoteRef(null); }
@Local public void router$handleServiceDisconnect(Actor x) { if ( x.getActor() == getRemoteRef() || x.getActorRef() == getRemoteRef() ) setRemoteRef(null); }