github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/apiserver/metricsender/nopsender.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package metricsender
     5  
     6  import (
     7  	wireformat "github.com/juju/romulus/wireformat/metrics"
     8  	"github.com/juju/utils"
     9  )
    10  
    11  // NopSender is a sender that acts like everything worked fine
    12  // But doesn't do anything.
    13  type NopSender struct {
    14  }
    15  
    16  // Implement the send interface, act like everything is fine.
    17  func (n NopSender) Send(batches []*wireformat.MetricBatch) (*wireformat.Response, error) {
    18  	var resp = make(wireformat.EnvironmentResponses)
    19  	for _, batch := range batches {
    20  		resp.Ack(batch.ModelUUID, batch.UUID)
    21  	}
    22  	uuid, err := utils.NewUUID()
    23  	if err != nil {
    24  		return nil, err
    25  	}
    26  	return &wireformat.Response{UUID: uuid.String(), EnvResponses: resp}, nil
    27  }