github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/api/noaaConsumer.go (about)

     1  package api
     2  
     3  import (
     4  	"github.com/cloudfoundry/noaa"
     5  	"github.com/cloudfoundry/sonde-go/events"
     6  )
     7  
     8  type NoaaConsumer interface {
     9  	GetContainerMetrics(string, string) ([]*events.ContainerMetric, error)
    10  	RecentLogs(string, string) ([]*events.LogMessage, error)
    11  	TailingLogs(string, string, chan<- *events.LogMessage, chan<- error)
    12  	SetOnConnectCallback(func())
    13  	Close() error
    14  }
    15  
    16  type noaaConsumer struct {
    17  	consumer *noaa.Consumer
    18  }
    19  
    20  func NewNoaaConsumer(consumer *noaa.Consumer) NoaaConsumer {
    21  	return &noaaConsumer{
    22  		consumer: consumer,
    23  	}
    24  }
    25  
    26  func (n *noaaConsumer) GetContainerMetrics(appGuid, token string) ([]*events.ContainerMetric, error) {
    27  	return n.consumer.ContainerMetrics(appGuid, token)
    28  }
    29  
    30  func (n *noaaConsumer) RecentLogs(appGuid string, authToken string) ([]*events.LogMessage, error) {
    31  	return n.consumer.RecentLogs(appGuid, authToken)
    32  }
    33  
    34  func (n *noaaConsumer) TailingLogs(appGuid string, authToken string, outputChan chan<- *events.LogMessage, errorChan chan<- error) {
    35  	n.consumer.TailingLogs(appGuid, authToken, outputChan, errorChan)
    36  }
    37  
    38  func (n *noaaConsumer) SetOnConnectCallback(cb func()) {
    39  	n.consumer.SetOnConnectCallback(cb)
    40  }
    41  
    42  func (n *noaaConsumer) Close() error {
    43  	return n.consumer.Close()
    44  }