Class RLJsonSession<T extends RLJsonSession>

java.lang.Object
org.nustaq.kontraktor.Actors
org.nustaq.kontraktor.Actor<T>
org.nustaq.kontraktor.services.rlserver.RLJsonSession<T>
All Implemented Interfaces:
java.io.Serializable, java.util.concurrent.Executor, org.nustaq.kontraktor.monitoring.Monitorable, org.nustaq.kontraktor.remoting.base.RemotedActor

public class RLJsonSession<T extends RLJsonSession>
extends org.nustaq.kontraktor.Actor<T>
implements org.nustaq.kontraktor.remoting.base.RemotedActor
See Also:
Serialized Form
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.nustaq.kontraktor.Actor

    org.nustaq.kontraktor.Actor.ActorReport
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected DataClient dClient  
    protected int senderId  
    protected static java.util.concurrent.atomic.AtomicInteger senderIdCount  
    static int senderIdRangeEnd  
    static int senderIdRangeStart  
    protected RLJsonServer server  
    protected java.util.Map<java.lang.String,​JsonSubsEntry> subscriptions  

    Fields inherited from class org.nustaq.kontraktor.Actor

    __cbQueue, __clientConnection, __connections, __currentDispatcher, __mailbox, __mailboxCapacity, __mbCapacity, __publishTarget, __remoteId, __scheduler, __self, __stopped, __ticketMachine, connection, sender, userData, zzRoutingGCEnabled, zzServerMsgCallback

    Fields inherited from class org.nustaq.kontraktor.Actors

    CONT, DEFAULT_TIMOUT, defaultScheduler, delayedCalls, exec, instance, MAX_EXTERNAL_THREADS_POOL_SIZE, version
  • Constructor Summary

    Constructors 
    Constructor Description
    RLJsonSession()  
  • Method Summary

    Modifier and Type Method Description
    protected void _internalUpdate​(org.nustaq.reallive.api.RealLiveTable tbl, org.nustaq.reallive.api.Record newRecord)
    processes special ops like { "array+" : value } and _NULL_
    org.nustaq.kontraktor.IPromise<java.lang.Long> bulkUpdate​(java.lang.String table, java.lang.String json)
    process a series of add/update operations.
    org.nustaq.kontraktor.IPromise delete​(java.lang.String table, java.lang.String key)  
    void deleteAsync​(java.lang.String table, java.lang.String key)  
    org.nustaq.kontraktor.IPromise<java.util.Set<java.lang.String>> fieldsOf​(java.lang.String table)  
    protected com.eclipsesource.json.JsonObject fromChange​(org.nustaq.reallive.api.ChangeMessage change)  
    protected com.eclipsesource.json.JsonObject fromRecord​(org.nustaq.reallive.api.Record r)  
    org.nustaq.kontraktor.IPromise<java.lang.String> get​(java.lang.String table, java.lang.String key)  
    org.nustaq.kontraktor.IPromise<java.lang.Integer> getSenderId()  
    void hasBeenPublished​(java.lang.String connectionIdentifier)  
    void hasBeenUnpublished​(java.lang.String connectionIdentifier)  
    void init​(RLJsonServer server, DataClient dataClient, java.lang.Object userdata)  
    void select​(java.lang.String table, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)  
    void selectHashed​(java.lang.String table, java.lang.String indexPath2hashKeyJson, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)  
    void subscribe​(java.lang.String uuid, java.lang.String table, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)  
    org.nustaq.kontraktor.IPromise<java.lang.Long> subscribeSyncing​(java.lang.String uuid, java.lang.String table, long timeStamp, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)  
    protected org.nustaq.reallive.api.Record toRecord​(com.eclipsesource.json.JsonObject members)  
    void unsubscribe​(java.lang.String uuid)  
    org.nustaq.kontraktor.IPromise update​(java.lang.String table, java.lang.String json)  
    void updateAsync​(java.lang.String table, java.lang.String json)  

    Methods inherited from class org.nustaq.kontraktor.Actor

    __addDeadLetter, __addRemoteConnection, __addStopHandler, __dispatchRemoteCall, __enqueueCall, __getCachedMethod, __removeRemoteConnection, __stop, __stopImpl, __submit, ask, askMsg, asyncstop, checkThread, close, closeCurrentClient, current, cyclic, debounce, delayed, execInThreadPool, execute, getActor, getActorRef, getCallbackSize, getConnections, getCurrentDispatcher, getFactory, getMailboxSize, getQSizes, getReport, getScheduler, getSubMonitorables, getUntypedRef, hasStopped, inside, inThread, isCallbackQPressured, isEmpty, isMailboxPressured, isProxy, isPublished, isRemote, isStopped, ping, router$clientPing, self, serialOn, setServerMsgCallback, stop, stopSafeClose, tell, tellMsg, unpublish, zzkrouterLostClient, zzRoutingRefGC

    Methods inherited from class org.nustaq.kontraktor.Actors

    AddDeadLetter, all, all, all, allMapped, AsActor, AsActor, AsActor, AsActor, AsUntypedActor, awaitAll, awaitAll, awaitAll, awaitAll, complete, complete, DeadLetters, flow, InThread, isComplete, isCont, isError, isErrorOrComplete, isResult, isTimeout, kYield, kYield, promise, race, race, reject, resolve, resolve, stream, SubmitDelayed, yieldCallbacks

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • init

      public void init​(RLJsonServer server, DataClient dataClient, java.lang.Object userdata)
    • getSenderId

      public org.nustaq.kontraktor.IPromise<java.lang.Integer> getSenderId()
    • update

      public org.nustaq.kontraktor.IPromise update​(java.lang.String table, java.lang.String json)
    • updateAsync

      public void updateAsync​(java.lang.String table, java.lang.String json)
    • delete

      public org.nustaq.kontraktor.IPromise delete​(java.lang.String table, java.lang.String key)
    • fieldsOf

      public org.nustaq.kontraktor.IPromise<java.util.Set<java.lang.String>> fieldsOf​(java.lang.String table)
    • get

      public org.nustaq.kontraktor.IPromise<java.lang.String> get​(java.lang.String table, java.lang.String key)
    • selectHashed

      public void selectHashed​(java.lang.String table, java.lang.String indexPath2hashKeyJson, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)
    • select

      public void select​(java.lang.String table, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)
    • unsubscribe

      public void unsubscribe​(java.lang.String uuid)
    • subscribe

      public void subscribe​(java.lang.String uuid, java.lang.String table, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)
    • subscribeSyncing

      public org.nustaq.kontraktor.IPromise<java.lang.Long> subscribeSyncing​(java.lang.String uuid, java.lang.String table, long timeStamp, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)
    • fromChange

      protected com.eclipsesource.json.JsonObject fromChange​(org.nustaq.reallive.api.ChangeMessage change)
    • deleteAsync

      public void deleteAsync​(java.lang.String table, java.lang.String key)
    • bulkUpdate

      public org.nustaq.kontraktor.IPromise<java.lang.Long> bulkUpdate​(java.lang.String table, java.lang.String json)
      process a series of add/update operations. Input is a map. Atomic Array Ops can be done like { "array+" : value } - add value to existing array { "array-" : value } - remove all equal values from existing array { "array?+" : value } - add only if value does not yet exist (set-like behaviour) _NULL_ - can be used to denote null values (real null will be evicted by json )
      Parameters:
      table -
      json - - [ addOrUpdate, .. ]
      Returns:
    • _internalUpdate

      protected void _internalUpdate​(org.nustaq.reallive.api.RealLiveTable tbl, org.nustaq.reallive.api.Record newRecord)
      processes special ops like { "array+" : value } and _NULL_
      Parameters:
      tbl -
      newRecord -
    • fromRecord

      protected com.eclipsesource.json.JsonObject fromRecord​(org.nustaq.reallive.api.Record r)
    • toRecord

      protected org.nustaq.reallive.api.Record toRecord​(com.eclipsesource.json.JsonObject members)
    • hasBeenUnpublished

      public void hasBeenUnpublished​(java.lang.String connectionIdentifier)
      Specified by:
      hasBeenUnpublished in interface org.nustaq.kontraktor.remoting.base.RemotedActor
    • hasBeenPublished

      public void hasBeenPublished​(java.lang.String connectionIdentifier)
      Specified by:
      hasBeenPublished in interface org.nustaq.kontraktor.remoting.base.RemotedActor