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 }