Drop `DeadLetterHandler` (which is functionally unused)
This commit is contained in:
		
							parent
							
								
									491155d1cf
								
							
						
					
					
						commit
						9b9edbae0e
					
				| 
						 | 
					@ -207,7 +207,6 @@ import org.whispersystems.textsecuregcm.util.HostnameUtil;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.util.logging.LoggingUnhandledExceptionMapper;
 | 
					import org.whispersystems.textsecuregcm.util.logging.LoggingUnhandledExceptionMapper;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.util.logging.UncaughtExceptionHandler;
 | 
					import org.whispersystems.textsecuregcm.util.logging.UncaughtExceptionHandler;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
 | 
					import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.websocket.DeadLetterHandler;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.websocket.ProvisioningConnectListener;
 | 
					import org.whispersystems.textsecuregcm.websocket.ProvisioningConnectListener;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.websocket.WebSocketAccountAuthenticator;
 | 
					import org.whispersystems.textsecuregcm.websocket.WebSocketAccountAuthenticator;
 | 
				
			||||||
import org.whispersystems.textsecuregcm.workers.AssignUsernameCommand;
 | 
					import org.whispersystems.textsecuregcm.workers.AssignUsernameCommand;
 | 
				
			||||||
| 
						 | 
					@ -442,8 +441,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
 | 
				
			||||||
        deletedAccountsManager, directoryQueue, keys, messagesManager, reservedUsernames, profilesManager,
 | 
					        deletedAccountsManager, directoryQueue, keys, messagesManager, reservedUsernames, profilesManager,
 | 
				
			||||||
        pendingAccountsManager, secureStorageClient, secureBackupClient, clientPresenceManager, clock);
 | 
					        pendingAccountsManager, secureStorageClient, secureBackupClient, clientPresenceManager, clock);
 | 
				
			||||||
    RemoteConfigsManager       remoteConfigsManager       = new RemoteConfigsManager(remoteConfigs);
 | 
					    RemoteConfigsManager       remoteConfigsManager       = new RemoteConfigsManager(remoteConfigs);
 | 
				
			||||||
    DeadLetterHandler          deadLetterHandler          = new DeadLetterHandler(accountsManager, messagesManager);
 | 
					    DispatchManager            dispatchManager            = new DispatchManager(pubSubClientFactory, Optional.empty());
 | 
				
			||||||
    DispatchManager            dispatchManager            = new DispatchManager(pubSubClientFactory, Optional.of(deadLetterHandler));
 | 
					 | 
				
			||||||
    PubSubManager              pubSubManager              = new PubSubManager(pubsubClient, dispatchManager);
 | 
					    PubSubManager              pubSubManager              = new PubSubManager(pubsubClient, dispatchManager);
 | 
				
			||||||
    APNSender                  apnSender                  = new APNSender(apnSenderExecutor, accountsManager, config.getApnConfiguration());
 | 
					    APNSender                  apnSender                  = new APNSender(apnSenderExecutor, accountsManager, config.getApnConfiguration());
 | 
				
			||||||
    GCMSender                  gcmSender                  = new GCMSender(gcmSenderExecutor, accountsManager, config.getGcmConfiguration().getApiKey());
 | 
					    GCMSender                  gcmSender                  = new GCMSender(gcmSenderExecutor, accountsManager, config.getGcmConfiguration().getApiKey());
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,76 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Copyright 2013-2020 Signal Messenger, LLC
 | 
					 | 
				
			||||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package org.whispersystems.textsecuregcm.websocket;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import com.google.protobuf.InvalidProtocolBufferException;
 | 
					 | 
				
			||||||
import io.micrometer.core.instrument.Counter;
 | 
					 | 
				
			||||||
import io.micrometer.core.instrument.Metrics;
 | 
					 | 
				
			||||||
import org.slf4j.Logger;
 | 
					 | 
				
			||||||
import org.slf4j.LoggerFactory;
 | 
					 | 
				
			||||||
import org.whispersystems.dispatch.DispatchChannel;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.entities.MessageProtos.Envelope;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.storage.Account;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.storage.AccountsManager;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.storage.MessagesManager;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.storage.PubSubProtos.PubSubMessage;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import java.util.Optional;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import static com.codahale.metrics.MetricRegistry.name;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class DeadLetterHandler implements DispatchChannel {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  private final Logger logger = LoggerFactory.getLogger(DeadLetterHandler.class);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  private final AccountsManager accountsManager;
 | 
					 | 
				
			||||||
  private final MessagesManager messagesManager;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  private final Counter deadLetterCounter = Metrics.counter(name(getClass(), "deadLetterCounter"));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  public DeadLetterHandler(AccountsManager accountsManager, MessagesManager messagesManager) {
 | 
					 | 
				
			||||||
    this.accountsManager = accountsManager;
 | 
					 | 
				
			||||||
    this.messagesManager = messagesManager;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @Override
 | 
					 | 
				
			||||||
  public void onDispatchMessage(String channel, byte[] data) {
 | 
					 | 
				
			||||||
    try {
 | 
					 | 
				
			||||||
      logger.info("Handling dead letter to: " + channel);
 | 
					 | 
				
			||||||
      deadLetterCounter.increment();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      WebsocketAddress address       = new WebsocketAddress(channel);
 | 
					 | 
				
			||||||
      PubSubMessage    pubSubMessage = PubSubMessage.parseFrom(data);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      switch (pubSubMessage.getType().getNumber()) {
 | 
					 | 
				
			||||||
        case PubSubMessage.Type.DELIVER_VALUE:
 | 
					 | 
				
			||||||
          Envelope          message      = Envelope.parseFrom(pubSubMessage.getContent());
 | 
					 | 
				
			||||||
          Optional<Account> maybeAccount = accountsManager.getByE164(address.getNumber());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          if (maybeAccount.isPresent()) {
 | 
					 | 
				
			||||||
            messagesManager.insert(maybeAccount.get().getUuid(), address.getDeviceId(), message);
 | 
					 | 
				
			||||||
          } else {
 | 
					 | 
				
			||||||
            logger.warn("Dead letter for account that no longer exists: {}", address);
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    } catch (InvalidProtocolBufferException e) {
 | 
					 | 
				
			||||||
      logger.warn("Bad pubsub message", e);
 | 
					 | 
				
			||||||
    } catch (InvalidWebsocketAddressException e) {
 | 
					 | 
				
			||||||
      logger.warn("Invalid websocket address", e);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @Override
 | 
					 | 
				
			||||||
  public void onDispatchSubscribed(String channel) {
 | 
					 | 
				
			||||||
    logger.warn("DeadLetterHandler subscription notice! " + channel);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @Override
 | 
					 | 
				
			||||||
  public void onDispatchUnsubscribed(String channel) {
 | 
					 | 
				
			||||||
    logger.warn("DeadLetterHandler unsubscribe notice! " + channel);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue