- final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> {
- final var res = messageSender.sendGroupDataMessage(distId,
- recipients,
- unidentifiedAccess,
- isRecipientUpdate,
- contentHint,
- message,
- SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
- urgent,
- false);
- synchronized (entryId) {
- if (entryId.get() == -1) {
- final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
- res,
- contentHint,
- urgent);
- entryId.set(newId);
- } else {
- messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), res);
- }
- }
- return res;
- };
+ final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> messageSender.sendGroupDataMessage(
+ distId,
+ recipients,
+ unidentifiedAccess,
+ isRecipientUpdate,
+ contentHint,
+ message,
+ SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
+ urgent,
+ false,
+ sendResult -> {
+ logger.trace("Partial message send results: {}", sendResult.size());
+ synchronized (entryId) {
+ if (entryId.get() == -1) {
+ final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+ sendResult,
+ contentHint,
+ urgent);
+ entryId.set(newId);
+ } else {
+ messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+ }
+ }
+ synchronized (entryId) {
+ if (entryId.get() == -1) {
+ final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+ sendResult,
+ contentHint,
+ urgent);
+ entryId.set(newId);
+ } else {
+ messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+ }
+ }
+ });