Feature - inactive property added to StreamConsumer object #5093

pull/5099/head
Nikita Koksharov 2 years ago
parent 30ba066050
commit 4952c80c98

@ -26,11 +26,13 @@ public class StreamConsumer {
private final String name; private final String name;
private final int pending; private final int pending;
private final long idleTime; private final long idleTime;
private final long inactive;
public StreamConsumer(String name, int pending, long idleTime) { public StreamConsumer(String name, int pending, long idleTime, long inactive) {
this.name = name; this.name = name;
this.pending = pending; this.pending = pending;
this.idleTime = idleTime; this.idleTime = idleTime;
this.inactive = inactive;
} }
/** /**
@ -60,4 +62,12 @@ public class StreamConsumer {
return idleTime; return idleTime;
} }
/**
* Returns time in milliseconds since the last successful interaction of this consumer
*
* @return time in milliseconds
*/
public long getInactive() {
return inactive;
}
} }

@ -29,8 +29,12 @@ public class StreamConsumerInfoDecoder implements MultiDecoder<StreamConsumer> {
@Override @Override
public StreamConsumer decode(List<Object> parts, State state) { public StreamConsumer decode(List<Object> parts, State state) {
if (parts.size() > 6) {
return new StreamConsumer((String) parts.get(1), return new StreamConsumer((String) parts.get(1),
((Long) parts.get(3)).intValue(), (Long) parts.get(5)); ((Long) parts.get(3)).intValue(), (Long) parts.get(5), (Long) parts.get(7));
}
return new StreamConsumer((String) parts.get(1),
((Long) parts.get(3)).intValue(), (Long) parts.get(5), -1);
} }
} }

Loading…
Cancel
Save