in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/memory/MemoryStoreImpl.java [224:248]
public Iterator<Session> listSessions(String userId, Filter metadataFilter, Long maxCount, Integer batchSize) {
log.info("list sessions, userId:{}, metadataFilter:{}, maxCount:{}, batchSize:{}", userId, metadataFilter, maxCount, batchSize);
ValidationUtils.ensureNotNull(userId, "userId");
PrimaryKey start = PrimaryKeyBuilder.createPrimaryKeyBuilder()
.addPrimaryKeyColumn(Session.SESSION_USER_ID, PrimaryKeyValue.fromString(userId))
.addPrimaryKeyColumn(Session.SESSION_SESSION_ID, PrimaryKeyValue.INF_MIN)
.build();
PrimaryKey end = PrimaryKeyBuilder.createPrimaryKeyBuilder()
.addPrimaryKeyColumn(Session.SESSION_USER_ID, PrimaryKeyValue.fromString(userId))
.addPrimaryKeyColumn(Session.SESSION_SESSION_ID, PrimaryKeyValue.INF_MAX)
.build();
return new TablestoreHelper.GetRangeIterator<>(
client,
sessionTableName,
TablestoreHelper::rowToSession,
start,
end,
metadataFilter,
Order.ASC,
maxCount,
batchSize,
null
);
}