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.UncaughtExceptionHandler;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.DeadLetterHandler;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.ProvisioningConnectListener;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.WebSocketAccountAuthenticator;
 | 
			
		||||
import org.whispersystems.textsecuregcm.workers.AssignUsernameCommand;
 | 
			
		||||
| 
						 | 
				
			
			@ -442,8 +441,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
 | 
			
		|||
        deletedAccountsManager, directoryQueue, keys, messagesManager, reservedUsernames, profilesManager,
 | 
			
		||||
        pendingAccountsManager, secureStorageClient, secureBackupClient, clientPresenceManager, clock);
 | 
			
		||||
    RemoteConfigsManager       remoteConfigsManager       = new RemoteConfigsManager(remoteConfigs);
 | 
			
		||||
    DeadLetterHandler          deadLetterHandler          = new DeadLetterHandler(accountsManager, messagesManager);
 | 
			
		||||
    DispatchManager            dispatchManager            = new DispatchManager(pubSubClientFactory, Optional.of(deadLetterHandler));
 | 
			
		||||
    DispatchManager            dispatchManager            = new DispatchManager(pubSubClientFactory, Optional.empty());
 | 
			
		||||
    PubSubManager              pubSubManager              = new PubSubManager(pubsubClient, dispatchManager);
 | 
			
		||||
    APNSender                  apnSender                  = new APNSender(apnSenderExecutor, accountsManager, config.getApnConfiguration());
 | 
			
		||||
    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