package org.gnunet.statistics; import org.gnunet.mq.Envelope; import org.gnunet.mq.MessageQueue; import org.gnunet.requests.RequestContainer; import org.gnunet.util.RelativeTime; public class SetRequest extends RequestContainer.Request { /** * Time after we give up on setting values in statistics */ private static final RelativeTime SET_TIMEOUT = RelativeTime.SECOND.multiply(10); private final static int SETFLAG_RELATIVE = 1; private final static int SETFLAG_PERSIST = 2; private final String subsystem; private final String name; private final boolean persist; private final long value; private final boolean relative; public SetRequest(String subsystem, String name, long value, boolean relative, boolean persist) { this.subsystem = subsystem; this.name = name; this.persist = persist; this.value = value; this.relative = relative; } @Override public Envelope assembleRequest() { SetMessage m = new SetMessage(); m.statisticName = name; m.subsystemName = subsystem; m.value = value; if (relative) m.flags |= SETFLAG_RELATIVE; if (persist) m.flags |= SETFLAG_PERSIST; return new Envelope(m); } public void cancel() { //To change body of implemented methods use File | Settings | File Templates. } }