Search in sources :

Example 1 with WeakUpdate

use of im.actor.core.api.base.WeakUpdate in project actor-platform by actorapp.

the class SequenceActor method onReceive.

//
// Messages
//
@Override
public void onReceive(Object message) {
    if (message instanceof Invalidate || message instanceof SeqUpdateTooLong || message instanceof ForceInvalidate) {
        if (!isValidated) {
            return;
        }
        invalidate();
    } else if (message instanceof SeqUpdate || message instanceof FatSeqUpdate) {
        if (!isValidated) {
            stash();
            return;
        }
        int seq;
        byte[] state;
        int type;
        byte[] body;
        List<ApiUser> users = null;
        List<ApiGroup> groups = null;
        if (message instanceof SeqUpdate) {
            seq = ((SeqUpdate) message).getSeq();
            state = ((SeqUpdate) message).getState();
            type = ((SeqUpdate) message).getUpdateHeader();
            body = ((SeqUpdate) message).getUpdate();
        } else {
            seq = ((FatSeqUpdate) message).getSeq();
            state = ((FatSeqUpdate) message).getState();
            type = ((FatSeqUpdate) message).getUpdateHeader();
            body = ((FatSeqUpdate) message).getUpdate();
            users = ((FatSeqUpdate) message).getUsers();
            groups = ((FatSeqUpdate) message).getGroups();
        }
        onUpdateReceived(seq, state, type, body, users, groups);
    } else if (message instanceof ExecuteAfter) {
        if (!isValidated) {
            stash();
            return;
        }
        onExecuteAfter((ExecuteAfter) message);
    } else if (message instanceof PushSeq) {
        if (!isValidated) {
            stash();
            return;
        }
        onPushSeqReceived(((PushSeq) message).seq, ((PushSeq) message).authId);
    } else if (message instanceof WeakUpdate) {
        WeakUpdate weakUpdate = (WeakUpdate) message;
        onWeakUpdateReceived(weakUpdate.getUpdateHeader(), weakUpdate.getUpdate(), weakUpdate.getDate());
    } else {
        super.onReceive(message);
    }
}
Also used : FatSeqUpdate(im.actor.core.api.base.FatSeqUpdate) FatSeqUpdate(im.actor.core.api.base.FatSeqUpdate) SeqUpdate(im.actor.core.api.base.SeqUpdate) WeakUpdate(im.actor.core.api.base.WeakUpdate) ExecuteAfter(im.actor.core.modules.sequence.internal.ExecuteAfter) ArrayList(java.util.ArrayList) List(java.util.List) SeqUpdateTooLong(im.actor.core.api.base.SeqUpdateTooLong)

Aggregations

FatSeqUpdate (im.actor.core.api.base.FatSeqUpdate)1 SeqUpdate (im.actor.core.api.base.SeqUpdate)1 SeqUpdateTooLong (im.actor.core.api.base.SeqUpdateTooLong)1 WeakUpdate (im.actor.core.api.base.WeakUpdate)1 ExecuteAfter (im.actor.core.modules.sequence.internal.ExecuteAfter)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1