func NoAck() Ack {
	return noAck
}
NoAck returns an ack value that should be passed to proxy.Consume function
when a caller does not want to acknowledge anything.
package proxy
import (
	"sync"
	"time"
	"github.com/Shopify/sarama"
	"github.com/mailgun/kafka-pixy/actor"
	"github.com/mailgun/kafka-pixy/admin"
	"github.com/mailgun/kafka-pixy/config"
	"github.com/mailgun/kafka-pixy/consumer"
	"github.com/mailgun/kafka-pixy/consumer/consumerimpl"
	"github.com/mailgun/kafka-pixy/offsetmgr"
	"github.com/mailgun/kafka-pixy/producer"
	"github.com/pkg/errors"
	log "github.com/sirupsen/logrus"
)
const (
	initEventsChMapCapacity = 256
)
var (
	ErrUnavailable        = errors.New("service is shutting down")
	ErrDisabled           = errors.New("service is disabled by configuration")
	ErrHeadersUnsupported = errors.New("headers are not supported with this version of Kafka. Consider changing `kafka.version` (https://github.com/mailgun/kafka-pixy/blob/master/default.yaml#L35)")
	noAck   = Ack{partition: -1}
	autoAck = Ack{partition: -2}
)
type T struct {
	actDesc    *actor.Descriptor
	cfg        *config.Proxy
	kafkaClt   sarama.Client
	offsetMgrF offsetmgr.Factory
	adminMu sync.RWMutex
	admin   *admin.T
	producerMu sync.RWMutex
	producer   *producer.T
	consumerMu sync.RWMutex
	consumer   consumer.T
	eventsChMapMu sync.RWMutex
	eventsChMap   map[eventsChID]chan<- consumer.Event
}
type Ack struct {
	partition int32
	offset    int64
}
func NewAck(partition int32, offset int64) (Ack, error) {
	if partition < 0 {
		return Ack{}, errors.Errorf("bad partition: %d", partition)
	}
	if offset < 0 {
		return Ack{}, errors.Errorf("bad offset: %d", offset)
	}
	return Ack{partition, offset}, nil
}