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
-
Field Summary
Fields Modifier and Type Field Description protected DataClientdClientprotected intsenderIdprotected static java.util.concurrent.atomic.AtomicIntegersenderIdCountstatic intsenderIdRangeEndstatic intsenderIdRangeStartprotected RLJsonServerserverprotected java.util.Map<java.lang.String,JsonSubsEntry>subscriptionsFields 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 -
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.IPromisedelete(java.lang.String table, java.lang.String key)voiddeleteAsync(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.JsonObjectfromChange(org.nustaq.reallive.api.ChangeMessage change)protected com.eclipsesource.json.JsonObjectfromRecord(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()voidhasBeenPublished(java.lang.String connectionIdentifier)voidhasBeenUnpublished(java.lang.String connectionIdentifier)voidinit(RLJsonServer server, DataClient dataClient, java.lang.Object userdata)voidselect(java.lang.String table, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)voidselectHashed(java.lang.String table, java.lang.String indexPath2hashKeyJson, java.lang.String query, org.nustaq.kontraktor.Callback<java.lang.String> res)voidsubscribe(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.RecordtoRecord(com.eclipsesource.json.JsonObject members)voidunsubscribe(java.lang.String uuid)org.nustaq.kontraktor.IPromiseupdate(java.lang.String table, java.lang.String json)voidupdateAsync(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, zzRoutingRefGCMethods 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
-
Field Details
-
senderIdRangeStart
public static int senderIdRangeStart -
senderIdRangeEnd
public static int senderIdRangeEnd -
senderIdCount
protected static java.util.concurrent.atomic.AtomicInteger senderIdCount -
server
-
dClient
-
senderId
protected int senderId -
subscriptions
-
-
Constructor Details
-
RLJsonSession
public RLJsonSession()
-
-
Method Details
-
init
-
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:
hasBeenUnpublishedin interfaceorg.nustaq.kontraktor.remoting.base.RemotedActor
-
hasBeenPublished
public void hasBeenPublished(java.lang.String connectionIdentifier)- Specified by:
hasBeenPublishedin interfaceorg.nustaq.kontraktor.remoting.base.RemotedActor
-