MCPcopy Create free account
hub / github.com/RedisGears/RedisGears / RedisGearsPy_DumpSingleSession

Function RedisGearsPy_DumpSingleSession

plugins/python/redisgears_python.c:6310–6356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6308}
6309
6310static void RedisGearsPy_DumpSingleSession(RedisModuleCtx *ctx, PythonSessionCtx* s, int verbose){
6311 RedisModule_ReplyWithArray(ctx, 16);
6312 RedisModule_ReplyWithCString(ctx, "ID");
6313 RedisModule_ReplyWithCString(ctx, s->sessionId);
6314 RedisModule_ReplyWithCString(ctx, "sessionDescription");
6315 if (s->sessionDesc) {
6316 RedisModule_ReplyWithCString(ctx, s->sessionDesc);
6317 } else {
6318 RedisModule_ReplyWithNull(ctx);
6319 }
6320 RedisModule_ReplyWithCString(ctx, "refCount");
6321 RedisModule_ReplyWithLongLong(ctx, s->refCount);
6322 RedisModule_ReplyWithCString(ctx, "linked");
6323 RedisModule_ReplyWithCString(ctx, s->linkedTo == LinkedTo_None ? "None" : s->linkedTo == LinkedTo_PrimaryDict ? "primary" : "temprary");
6324 RedisModule_ReplyWithCString(ctx, "dead");
6325 RedisModule_ReplyWithCString(ctx, s->deadNode ? "true" : "false");
6326 RedisModule_ReplyWithCString(ctx, "requirementInstallationNeeded");
6327 RedisModule_ReplyWithLongLong(ctx, s->isInstallationNeeded);
6328 RedisModule_ReplyWithCString(ctx, "requirements");
6329 RedisModule_ReplyWithArray(ctx, array_len(s->requirements));
6330 for(size_t i = 0 ; i < array_len(s->requirements) ; ++i) {
6331 PythonRequirementCtx* req = s->requirements[i];
6332 if (verbose) {
6333 RedisGearsPy_SendReqMetaData(ctx, req);
6334 } else {
6335 RedisModule_ReplyWithCString(ctx, req->installName);
6336 }
6337 }
6338 RedisModule_ReplyWithCString(ctx, "registrations");
6339
6340 PythonSessionCtx_RunWithRegistrationsLock(s, {
6341 RedisModule_ReplyWithArray(ctx, array_len(s->registrations));
6342 for(size_t i = 0 ; i < array_len(s->registrations) ; ++i) {
6343 const char *registrationId = s->registrations[i];
6344 if (verbose) {
6345 FlatExecutionPlan *fep = RedisGears_GetFepById(registrationId);
6346 if (!fep) {
6347 RedisModule_ReplyWithCString(ctx, registrationId);
6348 } else {
6349 RedisGears_DumpRegistration(ctx, fep, REGISTRATION_DUMP_NO_PD);
6350 }
6351 } else {
6352 RedisModule_ReplyWithCString(ctx, registrationId);
6353 }
6354 }
6355 });
6356}
6357
6358static int RedisGearsPy_DumpSessions(RedisModuleCtx *ctx, RedisModuleString **argv, int argc){
6359 pthread_mutex_lock(&PySessionsLock);

Callers 1

Calls 2

array_lenFunction · 0.85

Tested by

no test coverage detected