com.github.sseserver.remote.RemoteConnectionService Maven / Gradle / Ivy
package com.github.sseserver.remote;
import com.github.sseserver.ConnectionQueryService;
import com.github.sseserver.SendService;
import com.github.sseserver.springboot.SseServerProperties;
import java.io.Closeable;
import java.io.Serializable;
import java.net.URL;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public interface RemoteConnectionService extends ConnectionQueryService, SendService>, Closeable {
URL getRemoteUrl();
@Override
void close();
String getId();
RemoteCompletableFuture isOnlineAsync(Serializable userId);
RemoteCompletableFuture getUserAsync(Serializable userId);
RemoteCompletableFuture, RemoteConnectionService> getUsersAsync();
RemoteCompletableFuture, RemoteConnectionService> getUsersAsync(SseServerProperties.AutoType autoType);
RemoteCompletableFuture, RemoteConnectionService> getUsersByListeningAsync(String sseListenerName);
RemoteCompletableFuture, RemoteConnectionService> getUsersByTenantIdListeningAsync(Serializable tenantId, String sseListenerName);
/* getConnection */
RemoteCompletableFuture>, RemoteConnectionService> getConnectionDTOAllAsync(SseServerProperties.AutoType autoTypeEnum);
RemoteCompletableFuture, RemoteConnectionService> getConnectionDTOByUserIdAsync(Serializable userId);
/* getUserIds */
RemoteCompletableFuture, RemoteConnectionService> getUserIdsAsync(Class type);
RemoteCompletableFuture, RemoteConnectionService> getUserIdsByListeningAsync(String sseListenerName, Class type);
RemoteCompletableFuture, RemoteConnectionService> getUserIdsByTenantIdListeningAsync(Serializable tenantId, String sseListenerName, Class type);
/* getAccessToken */
RemoteCompletableFuture, RemoteConnectionService> getAccessTokensAsync();
/* getTenantId */
RemoteCompletableFuture, RemoteConnectionService> getTenantIdsAsync(Class type);
/* getChannels */
RemoteCompletableFuture, RemoteConnectionService> getChannelsAsync();
/**
* 获取当前连接数量
*/
RemoteCompletableFuture getConnectionCountAsync();
/* disconnect */
RemoteCompletableFuture disconnectByUserId(Serializable userId);
RemoteCompletableFuture disconnectByAccessToken(String accessToken);
RemoteCompletableFuture disconnectByConnectionId(Long connectionId);
RemoteCompletableFuture disconnectByConnectionId(Long connectionId, Long duration, Long sessionDuration);
RemoteCompletableFuture disconnectByConnectionIds(Collection connectionIds);
/**
* 修改已统计的在线时长
*
* @param userId 用户ID
* @param durationSecond 在线时长(秒)
* @return 清空的链接
*/
RemoteCompletableFuture setDurationByUserId(Serializable userId, long durationSecond);
RemoteCompletableFuture setDurationByAccessToken(String accessToken, long durationSecond);
RemoteCompletableFuture active(List