func read(reader coordinator.MsgReader) { for { m := reader.Read() if m.Kind == msg.SHUTDOWN { break } } }
func drain(r coordinator.MsgReader) []*msg.Message { ms := make([]*msg.Message, 0) for { m := &msg.Message{} *m = r.Read() ms = append(ms, m) if m.Kind == msg.SHUTDOWN { return ms } } }