本文整理汇总了Golang中doppler/sinkserver/sinkmanager.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: New
func New(host string, config *config.Config, logger *gosteno.Logger, storeAdapter storeadapter.StoreAdapter, messageDrainBufferSize uint, dropsondeOrigin string, dialTimeout time.Duration) *Doppler {
cfcomponent.Logger = logger
keepAliveInterval := 30 * time.Second
appStoreCache := cache.NewAppServiceCache()
appStoreWatcher, newAppServiceChan, deletedAppServiceChan := store.NewAppServiceStoreWatcher(storeAdapter, appStoreCache)
var dropsondeUDPListener agentlistener.Listener
var dropsondeTLSListener agentlistener.Listener
var dropsondeBytesChan <-chan []byte
listenerEnvelopeChan := make(chan *events.Envelope)
if config.EnableTLSTransport {
tlsConfig := &tls.Config{
Certificates: []tls.Certificate{config.TLSListenerConfig.Cert},
InsecureSkipVerify: config.TLSListenerConfig.InsecureSkipVerify,
}
dropsondeTLSListener = tlslistener.New(fmt.Sprintf("%s:%d", host, config.TLSListenerConfig.Port), tlsConfig, listenerEnvelopeChan, logger)
}
dropsondeUDPListener, dropsondeBytesChan = agentlistener.NewAgentListener(fmt.Sprintf("%s:%d", host, config.DropsondeIncomingMessagesPort), logger, "dropsondeListener")
signatureVerifier := signature.NewVerifier(logger, config.SharedSecret)
unmarshallerCollection := dropsonde_unmarshaller.NewDropsondeUnmarshallerCollection(logger, config.UnmarshallerCount)
blacklist := blacklist.New(config.BlackListIps)
metricTTL := time.Duration(config.ContainerMetricTTLSeconds) * time.Second
sinkTimeout := time.Duration(config.SinkInactivityTimeoutSeconds) * time.Second
sinkIOTimeout := time.Duration(config.SinkIOTimeoutSeconds) * time.Second
sinkManager := sinkmanager.New(config.MaxRetainedLogMessages, config.SkipCertVerify, blacklist, logger, messageDrainBufferSize, dropsondeOrigin, sinkTimeout, sinkIOTimeout, metricTTL, dialTimeout)
return &Doppler{
Logger: logger,
dropsondeUDPListener: dropsondeUDPListener,
dropsondeTLSListener: dropsondeTLSListener,
sinkManager: sinkManager,
messageRouter: sinkserver.NewMessageRouter(sinkManager, logger),
websocketServer: websocketserver.New(fmt.Sprintf("%s:%d", host, config.OutgoingPort), sinkManager, keepAliveInterval, config.MessageDrainBufferSize, dropsondeOrigin, logger),
newAppServiceChan: newAppServiceChan,
deletedAppServiceChan: deletedAppServiceChan,
appStoreWatcher: appStoreWatcher,
storeAdapter: storeAdapter,
dropsondeBytesChan: dropsondeBytesChan,
dropsondeUnmarshallerCollection: unmarshallerCollection,
envelopeChan: listenerEnvelopeChan,
wrappedEnvelopeChan: make(chan *events.Envelope),
signatureVerifier: signatureVerifier,
dropsondeVerifiedBytesChan: make(chan []byte),
uptimeMonitor: monitor.NewUptimeMonitor(time.Duration(config.MonitorIntervalSeconds) * time.Second),
}
}
开发者ID:Amit-PivotalLabs,项目名称:loggregator,代码行数:51,代码来源:doppler.go
示例2: New
func New(host string, config *config.Config, logger *gosteno.Logger, storeAdapter storeadapter.StoreAdapter, dropsondeOrigin string) *Doppler {
cfcomponent.Logger = logger
keepAliveInterval := 30 * time.Second
appStoreCache := cache.NewAppServiceCache()
appStoreWatcher, newAppServiceChan, deletedAppServiceChan := store.NewAppServiceStoreWatcher(storeAdapter, appStoreCache)
dropsondeListener, dropsondeBytesChan := agentlistener.NewAgentListener(fmt.Sprintf("%s:%d", host, config.DropsondeIncomingMessagesPort), logger, "dropsondeListener")
signatureVerifier := signature.NewVerifier(logger, config.SharedSecret)
unmarshallerCollection := dropsonde_unmarshaller.NewDropsondeUnmarshallerCollection(logger, config.UnmarshallerCount)
blacklist := blacklist.New(config.BlackListIps)
metricTTL := time.Duration(config.ContainerMetricTTLSeconds) * time.Second
sinkTimeout := time.Duration(config.SinkInactivityTimeoutSeconds) * time.Second
sinkManager := sinkmanager.New(config.MaxRetainedLogMessages, config.SkipCertVerify, blacklist, logger, dropsondeOrigin, sinkTimeout, metricTTL)
return &Doppler{
Logger: logger,
dropsondeListener: dropsondeListener,
sinkManager: sinkManager,
messageRouter: sinkserver.NewMessageRouter(sinkManager, logger),
websocketServer: websocketserver.New(fmt.Sprintf("%s:%d", host, config.OutgoingPort), sinkManager, keepAliveInterval, config.WSMessageBufferSize, dropsondeOrigin, logger),
newAppServiceChan: newAppServiceChan,
deletedAppServiceChan: deletedAppServiceChan,
appStoreWatcher: appStoreWatcher,
storeAdapter: storeAdapter,
dropsondeBytesChan: dropsondeBytesChan,
dropsondeUnmarshallerCollection: unmarshallerCollection,
envelopeChan: make(chan *events.Envelope),
wrappedEnvelopeChan: make(chan *events.Envelope),
signatureVerifier: signatureVerifier,
dropsondeVerifiedBytesChan: make(chan []byte),
}
}
开发者ID:khj0651,项目名称:loggregator,代码行数:36,代码来源:doppler.go
示例3:
"github.com/gogo/protobuf/proto"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("SinkManager", func() {
logger := loggertesthelper.Logger()
var blackListManager = blacklist.New([]iprange.IPRange{iprange.IPRange{Start: "10.10.10.10", End: "10.10.10.20"}}, logger)
var sinkManager *sinkmanager.SinkManager
var sinkManagerDone chan struct{}
var newAppServiceChan, deletedAppServiceChan chan appservice.AppService
BeforeEach(func() {
fakeMetricSender.Reset()
sinkManager = sinkmanager.New(1, true, blackListManager, logger, 100, "dropsonde-origin", 1*time.Second, 0, 1*time.Second, 1*time.Second)
newAppServiceChan = make(chan appservice.AppService)
deletedAppServiceChan = make(chan appservice.AppService)
sinkManagerDone = make(chan struct{})
go func() {
defer close(sinkManagerDone)
sinkManager.Start(newAppServiceChan, deletedAppServiceChan)
}()
})
AfterEach(func() {
sinkManager.Stop()
<-sinkManagerDone
})
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:31,代码来源:sink_manager_test.go
示例4:
"github.com/cloudfoundry/dropsonde/factories"
"github.com/cloudfoundry/loggregatorlib/cfcomponent"
"github.com/cloudfoundry/loggregatorlib/loggertesthelper"
"github.com/cloudfoundry/sonde-go/events"
"github.com/gorilla/websocket"
"github.com/cloudfoundry/dropsonde/emitter"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("WebsocketServer", func() {
var server *websocketserver.WebsocketServer
var sinkManager = sinkmanager.New(1024, false, blacklist.New(nil), loggertesthelper.Logger(), 100, "dropsonde-origin", 1*time.Second, 1*time.Second)
var appId = "my-app"
var wsReceivedChan chan []byte
var connectionDropped <-chan struct{}
var apiEndpoint = "127.0.0.1:9091"
BeforeEach(func() {
logger := loggertesthelper.Logger()
cfcomponent.Logger = logger
wsReceivedChan = make(chan []byte)
server = websocketserver.New(apiEndpoint, sinkManager, 100*time.Millisecond, 100, "dropsonde-origin", logger)
go server.Start()
serverUrl := fmt.Sprintf("ws://%s/apps/%s/stream", apiEndpoint, appId)
websocket.DefaultDialer = &websocket.Dialer{HandshakeTimeout: 10 * time.Millisecond}
Eventually(func() error { _, _, err := websocket.DefaultDialer.Dial(serverUrl, http.Header{}); return err }, 1).ShouldNot(HaveOccurred())
开发者ID:JimmyMa,项目名称:loggregator,代码行数:30,代码来源:websocket_server_test.go
示例5:
goRoutineSpawned sync.WaitGroup
serverPort string
)
BeforeEach(func() {
port := 9081 + config.GinkgoConfig.ParallelNode
serverPort = strconv.Itoa(port)
dataReadChannel = make(chan *events.Envelope, 2)
logger := loggertesthelper.Logger()
newAppServiceChan := make(chan appservice.AppService)
deletedAppServiceChan := make(chan appservice.AppService)
emptyBlacklist := blacklist.New(nil)
sinkManager = sinkmanager.New(1024, false, emptyBlacklist, logger, 100, "dropsonde-origin",
2*time.Second, 0, 1*time.Second, 500*time.Millisecond)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
defer services.Done()
sinkManager.Start(newAppServiceChan, deletedAppServiceChan)
}()
TestMessageRouter = sinkserver.NewMessageRouter(sinkManager, logger)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
开发者ID:Jonty,项目名称:loggregator,代码行数:32,代码来源:sinkserver_dump_test.go
示例6:
"github.com/cloudfoundry/sonde-go/events"
"github.com/gogo/protobuf/proto"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("SinkManager", func() {
var blackListManager = blacklist.New([]iprange.IPRange{iprange.IPRange{Start: "10.10.10.10", End: "10.10.10.20"}})
var sinkManager *sinkmanager.SinkManager
var sinkManagerDone chan struct{}
var newAppServiceChan, deletedAppServiceChan chan appservice.AppService
BeforeEach(func() {
fakeMetricSender.Reset()
sinkManager = sinkmanager.New(1, true, blackListManager, loggertesthelper.Logger(), 100, "dropsonde-origin", 1*time.Second, 1*time.Second)
newAppServiceChan = make(chan appservice.AppService)
deletedAppServiceChan = make(chan appservice.AppService)
sinkManagerDone = make(chan struct{})
go func() {
defer close(sinkManagerDone)
sinkManager.Start(newAppServiceChan, deletedAppServiceChan)
}()
})
AfterEach(func() {
sinkManager.Stop()
<-sinkManagerDone
})
开发者ID:JimmyMa,项目名称:loggregator,代码行数:31,代码来源:sink_manager_test.go
示例7: New
func New(logger *gosteno.Logger,
host string,
config *config.Config,
storeAdapter storeadapter.StoreAdapter,
messageDrainBufferSize uint,
dropsondeOrigin string,
websocketWriteTimeout time.Duration,
dialTimeout time.Duration) (*Doppler, error) {
keepAliveInterval := 30 * time.Second
appStoreCache := cache.NewAppServiceCache()
appStoreWatcher, newAppServiceChan, deletedAppServiceChan := store.NewAppServiceStoreWatcher(storeAdapter, appStoreCache, logger)
var udpListener listeners.Listener
var tlsListener listeners.Listener
var dropsondeBytesChan <-chan []byte
var err error
listenerEnvelopeChan := make(chan *events.Envelope)
if config.EnableTLSTransport {
tlsListener, err = listeners.NewTLSListener("tlsListener", fmt.Sprintf("%s:%d", host, config.TLSListenerConfig.Port), config.TLSListenerConfig, listenerEnvelopeChan, logger)
if err != nil {
return nil, err
}
}
udpListener, dropsondeBytesChan = listeners.NewUDPListener(fmt.Sprintf("%s:%d", host, config.DropsondeIncomingMessagesPort), logger, "dropsondeListener")
signatureVerifier := signature.NewVerifier(logger, config.SharedSecret)
unmarshallerCollection := dropsonde_unmarshaller.NewDropsondeUnmarshallerCollection(logger, config.UnmarshallerCount)
blacklist := blacklist.New(config.BlackListIps)
metricTTL := time.Duration(config.ContainerMetricTTLSeconds) * time.Second
sinkTimeout := time.Duration(config.SinkInactivityTimeoutSeconds) * time.Second
sinkIOTimeout := time.Duration(config.SinkIOTimeoutSeconds) * time.Second
sinkManager := sinkmanager.New(config.MaxRetainedLogMessages, config.SinkSkipCertVerify, blacklist, logger, messageDrainBufferSize, dropsondeOrigin, sinkTimeout, sinkIOTimeout, metricTTL, dialTimeout)
websocketServer, err := websocketserver.New(fmt.Sprintf("%s:%d", host, config.OutgoingPort), sinkManager, websocketWriteTimeout, keepAliveInterval, config.MessageDrainBufferSize, dropsondeOrigin, logger)
if err != nil {
return nil, fmt.Errorf("Failed to create the websocket server: %s", err.Error())
}
return &Doppler{
Logger: logger,
udpListener: udpListener,
tlsListener: tlsListener,
sinkManager: sinkManager,
messageRouter: sinkserver.NewMessageRouter(sinkManager, logger),
websocketServer: websocketServer,
newAppServiceChan: newAppServiceChan,
deletedAppServiceChan: deletedAppServiceChan,
appStoreWatcher: appStoreWatcher,
storeAdapter: storeAdapter,
dropsondeBytesChan: dropsondeBytesChan,
dropsondeUnmarshallerCollection: unmarshallerCollection,
envelopeChan: listenerEnvelopeChan,
signatureVerifier: signatureVerifier,
dropsondeVerifiedBytesChan: make(chan []byte),
uptimeMonitor: monitor.NewUptimeMonitor(time.Duration(config.MonitorIntervalSeconds) * time.Second),
}, nil
}
开发者ID:hpcloud,项目名称:loggregator-1,代码行数:63,代码来源:doppler.go
示例8:
"github.com/cloudfoundry/loggregatorlib/loggertesthelper"
"github.com/cloudfoundry/sonde-go/events"
"github.com/gogo/protobuf/proto"
)
var _ = Describe("SinkManager GRPC", func() {
var m *sinkmanager.SinkManager
BeforeEach(func() {
m = sinkmanager.New(
1,
true,
nil,
loggertesthelper.Logger(),
0,
"origin",
time.Second,
time.Second,
time.Second,
time.Second,
)
})
Describe("Stream", func() {
It("routes messages to GRPC streams", func() {
req := plumbing.StreamRequest{AppID: "app"}
firstSender := newMockGRPCSender()
close(firstSender.SendOutput.Err)
m.RegisterStream(&req, firstSender)
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:30,代码来源:grpc_manager_test.go
示例9:
"github.com/onsi/ginkgo/config"
. "github.com/onsi/gomega"
"github.com/apoydence/eachers/testhelpers"
"github.com/cloudfoundry/dropsonde/emitter"
"github.com/cloudfoundry/dropsonde/factories"
"github.com/cloudfoundry/loggregatorlib/loggertesthelper"
"github.com/cloudfoundry/sonde-go/events"
"github.com/gorilla/websocket"
)
var _ = Describe("WebsocketServer", func() {
var (
logger = loggertesthelper.Logger()
server *websocketserver.WebsocketServer
sinkManager = sinkmanager.New(1024, false, blacklist.New(nil, logger), logger, 100, "dropsonde-origin", 1*time.Second, 0, 1*time.Second, 500*time.Millisecond)
appId = "my-app"
wsReceivedChan chan []byte
apiEndpoint string
mockBatcher *mockBatcher
mockChainer *mockBatchCounterChainer
)
BeforeEach(func() {
mockBatcher = newMockBatcher()
mockChainer = newMockBatchCounterChainer()
testhelpers.AlwaysReturn(mockBatcher.BatchCounterOutput, mockChainer)
testhelpers.AlwaysReturn(mockChainer.SetTagOutput, mockChainer)
wsReceivedChan = make(chan []byte, 100)
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:30,代码来源:websocket_server_test.go
示例10: New
func New(
logger *gosteno.Logger,
host string,
config *doppler_config.Config,
storeAdapter storeadapter.StoreAdapter,
messageDrainBufferSize uint,
dropsondeOrigin string,
websocketWriteTimeout time.Duration,
dialTimeout time.Duration,
) (*Doppler, error) {
doppler := &Doppler{
Logger: logger,
storeAdapter: storeAdapter,
dropsondeVerifiedBytesChan: make(chan []byte),
}
keepAliveInterval := 30 * time.Second
appStoreCache := cache.NewAppServiceCache()
doppler.appStoreWatcher, doppler.newAppServiceChan, doppler.deletedAppServiceChan = store.NewAppServiceStoreWatcher(storeAdapter, appStoreCache, logger)
doppler.batcher = initializeMetrics(config.MetricBatchIntervalMilliseconds)
doppler.envelopeChan = make(chan *events.Envelope)
doppler.udpListener, doppler.dropsondeBytesChan = listeners.NewUDPListener(
fmt.Sprintf("%s:%d", host, config.IncomingUDPPort),
doppler.batcher,
logger,
"udpListener",
)
var err error
if config.EnableTLSTransport {
tlsConfig := &config.TLSListenerConfig
addr := fmt.Sprintf("%s:%d", host, tlsConfig.Port)
contextName := "tlsListener"
doppler.tlsListener, err = listeners.NewTCPListener(contextName, addr, tlsConfig, doppler.envelopeChan, doppler.batcher, logger)
if err != nil {
return nil, err
}
}
addr := fmt.Sprintf("%s:%d", host, config.IncomingTCPPort)
contextName := "tcpListener"
doppler.tcpListener, err = listeners.NewTCPListener(contextName, addr, nil, doppler.envelopeChan, doppler.batcher, logger)
doppler.signatureVerifier = signature.NewVerifier(logger, config.SharedSecret)
doppler.dropsondeUnmarshallerCollection = dropsonde_unmarshaller.NewDropsondeUnmarshallerCollection(logger, config.UnmarshallerCount)
blacklist := blacklist.New(config.BlackListIps, logger)
metricTTL := time.Duration(config.ContainerMetricTTLSeconds) * time.Second
sinkTimeout := time.Duration(config.SinkInactivityTimeoutSeconds) * time.Second
sinkIOTimeout := time.Duration(config.SinkIOTimeoutSeconds) * time.Second
doppler.sinkManager = sinkmanager.New(
config.MaxRetainedLogMessages,
config.SinkSkipCertVerify,
blacklist,
logger,
messageDrainBufferSize,
dropsondeOrigin,
sinkTimeout,
sinkIOTimeout,
metricTTL,
dialTimeout,
)
doppler.Infof("Listening for GRPC connections on %d", config.GRPCPort)
grpcListener, err := net.Listen("tcp", fmt.Sprintf(":%d", config.GRPCPort))
if err != nil {
return nil, err
}
grpcServer := grpc.NewServer()
plumbing.RegisterDopplerServer(grpcServer, doppler.sinkManager)
go grpcServer.Serve(grpcListener)
doppler.messageRouter = sinkserver.NewMessageRouter(doppler.sinkManager, logger)
doppler.websocketServer, err = websocketserver.New(
fmt.Sprintf(":%d", config.OutgoingPort),
doppler.sinkManager,
websocketWriteTimeout,
keepAliveInterval,
config.MessageDrainBufferSize,
dropsondeOrigin,
doppler.batcher,
logger,
)
if err != nil {
return nil, fmt.Errorf("Failed to create the websocket server: %s", err.Error())
}
monitorInterval := time.Duration(config.MonitorIntervalSeconds) * time.Second
doppler.openFileMonitor = monitor.NewLinuxFD(monitorInterval, logger)
doppler.uptimeMonitor = monitor.NewUptime(monitorInterval)
return doppler, nil
}
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:99,代码来源:doppler.go
示例11:
const (
SERVER_PORT = "9081"
)
BeforeEach(func() {
dataReadChannel = make(chan *events.Envelope, 2)
logger := loggertesthelper.Logger()
cfcomponent.Logger = logger
newAppServiceChan := make(chan appservice.AppService)
deletedAppServiceChan := make(chan appservice.AppService)
emptyBlacklist := blacklist.New(nil)
sinkManager = sinkmanager.New(1024, false, emptyBlacklist, logger, "dropsonde-origin",
2*time.Second, 1*time.Second)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
defer services.Done()
sinkManager.Start(newAppServiceChan, deletedAppServiceChan)
}()
TestMessageRouter = sinkserver.NewMessageRouter(sinkManager, logger)
services.Add(1)
goRoutineSpawned.Add(1)
go func() {
goRoutineSpawned.Done()
开发者ID:khj0651,项目名称:loggregator,代码行数:31,代码来源:sinkserver_dump_test.go
注:本文中的doppler/sinkserver/sinkmanager.New函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论