if (!recipient.isInSarosSession()) {
log.warn("Activities for peer not in session are dropped.");
return;
}
JID recipientJID = recipient.getJID();
List<TimedActivityDataObject> timedActivities = createTimedActivities(
recipientJID, activityDataObjects);
log.trace("Sending " + timedActivities.size()
+ " activities to " + recipientJID + ": " + timedActivities);
transmitter.sendTimedActivities(recipientJID, timedActivities);
}
/**
* During an project transmission over IBB to the same recipient as
* these timedActivities, activities that are not time-critical will
* be queued and send as bundles to reduce message traffic (which in
* extreme situation could crash IBB connection)
*
* @param recipient
* {@link JID} of the user to send activities to
* @return true if the queued activities can stay queued, false if
* they need to be send
*/
boolean isActivityQueuingSuiteable(User recipient,
List<IActivityDataObject> usersActivities) {
JID recipientJID = recipient.getJID();
if (projectExchangeProcesses
.getProjectExchangeProcess(recipientJID) instanceof OutgoingProjectNegotiation
&& transferManager.getTransferMode(recipientJID) == NetTransferMode.IBB) {