func commandStats(q queue.Queue, tokens []string, r *bufio.Reader, w *bufio.Writer) error { fields := len(tokens) if fields != 1 && fields != 2 { fmt.Fprint(w, CLIENT_ERROR_BADCMD_FORMAT) return errors.NotValidf("mc tokens %v ", tokens) } if fields == 1 { // TODO: implement stats command fmt.Fprint(w, END) } else if fields == 2 && strings.EqualFold(tokens[1], "queue") { accumulationInfos, err := q.AccumulationStatus() if err != nil { fmt.Fprintf(w, "%s %s\r\n", ENGINE_ERROR_PREFIX, err) return nil } for _, accumulationInfo := range accumulationInfos { fmt.Fprintf(w, "%s %s.%s %d/%d \r\n", "STAT", accumulationInfo.Group, accumulationInfo.Queue, accumulationInfo.Total, accumulationInfo.Consumed) } fmt.Fprint(w, END) } else { fmt.Fprint(w, ERROR) } return nil }