Files
IM-server-new/broker/src/main/java/io/moquette/connections/IConnectionsManager.java
T
2018-04-27 20:17:47 +02:00

59 lines
1.5 KiB
Java

/*
* Copyright (c) 2012-2018 The original author or authors
* ------------------------------------------------------
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.moquette.connections;
import io.moquette.server.ConnectionDescriptor;
import java.util.Collection;
import java.util.Optional;
/**
* Repository for active connections
*/
public interface IConnectionsManager {
/**
* Returns the number of physical connections
*
* @return
*/
int countActiveConnections();
Optional<ConnectionDescriptor> lookupDescriptor(String clientID);
ConnectionDescriptor addConnection(ConnectionDescriptor descriptor);
boolean removeConnection(ConnectionDescriptor descriptor);
ConnectionDescriptor getConnection(String clientID);
/**
* Determines wether a MQTT client is connected to the broker.
*
* @param clientID
* @return
*/
boolean isConnected(String clientID);
/**
* Returns the identifiers of the MQTT clients that are connected to the broker.
*
* @return
*/
Collection<String> getConnectedClientIds();
}