private void parseEventClientSync(ClientSync sync, ByteBuffer buf, int options, int payloadLength) { EventClientSync eventSync = new EventClientSync(); if (hasOption(options, EVENT_SEQ_NUMBER_REQUEST_OPTION)) { eventSync.setSeqNumberRequest(true); } int payloadLimitPosition = buf.position() + payloadLength; while (buf.position() < payloadLimitPosition) { byte fieldId = buf.get(); // reading unused reserved field buf.get(); switch (fieldId) { case EVENT_LISTENERS_FIELD_ID: eventSync.setEventListenersRequests(parseListenerRequests(buf)); break; case EVENT_LIST_FIELD_ID: eventSync.setEvents(parseEvents(buf)); break; default: break; } } sync.setEventSync(eventSync); }
private static EventClientSync convert(EventSyncRequest source) { if (source == null) { return null; } EventClientSync sync = new EventClientSync(); sync.setSeqNumberRequest(source.getEventSequenceNumberRequest() != null); if (source.getEvents() != null) { List<Event> events = new ArrayList<Event>(source.getEvents().size()); for (org.kaaproject.kaa.common.endpoint.gen.Event event : source.getEvents()) { events.add(convert(event)); } sync.setEvents(events); } if (source.getEventListenersRequests() != null) { List<EventListenersRequest> requests = new ArrayList<>( source.getEventListenersRequests().size()); for (org.kaaproject.kaa.common.endpoint.gen.EventListenersRequest request : source.getEventListenersRequests()) { requests.add(new EventListenersRequest( request.getRequestId(), request.getEventClassFQNs())); } sync.setEventListenersRequests(requests); } return sync; }
/** * Updates a request. */ public void updateRequest(ServerSync response) { UUID channelUuid = getChannelUuid(); LOG.debug("[{}] Cleanup profile request", channelUuid); request.setProfileSync(null); if (request.getUserSync() != null) { LOG.debug("[{}] Cleanup user request", channelUuid); request.setUserSync(new UserClientSync()); } if (request.getEventSync() != null) { LOG.debug("[{}] Cleanup event request", channelUuid); request.setEventSync(new EventClientSync()); } if (request.getLogSync() != null) { LOG.debug("[{}] Cleanup log request", channelUuid); request.getLogSync().setLogEntries(null); } if (request.getNotificationSync() != null) { LOG.debug("[{}] Cleanup/update notification request", channelUuid); request.getNotificationSync().setSubscriptionCommands(null); request.getNotificationSync().setAcceptedUnicastNotifications(null); } }