MCPcopy
hub / github.com/livekit/livekit / InitializeServer

Function InitializeServer

pkg/service/wire_gen.go:34–159  ·  view source on GitHub ↗

Injectors from wire.go:

(conf *config.Config, currentNode routing.LocalNode)

Source from the content-addressed store, hash-verified

32// Injectors from wire.go:
33
34func InitializeServer(conf *config.Config, currentNode routing.LocalNode) (*LivekitServer, error) {
35 limitConfig := getLimitConf(conf)
36 apiConfig := getAPIConf(conf)
37 universalClient, err := createRedisClient(conf)
38 if err != nil {
39 return nil, err
40 }
41 nodeID := getNodeID(currentNode)
42 messageBus := getMessageBus(universalClient)
43 signalRelayConfig := getSignalRelayConfig(conf)
44 signalClient, err := routing.NewSignalClient(nodeID, messageBus, signalRelayConfig)
45 if err != nil {
46 return nil, err
47 }
48 psrpcConfig := getPSRPCConfig(conf)
49 clientParams := getPSRPCClientParams(psrpcConfig, messageBus)
50 roomConfig := getRoomConfig(conf)
51 roomManagerClient, err := routing.NewRoomManagerClient(clientParams, roomConfig)
52 if err != nil {
53 return nil, err
54 }
55 keepalivePubSub, err := rpc.NewKeepalivePubSub(clientParams)
56 if err != nil {
57 return nil, err
58 }
59 nodeStatsConfig := getNodeStatsConfig(conf)
60 router := routing.CreateRouter(universalClient, currentNode, signalClient, roomManagerClient, keepalivePubSub, nodeStatsConfig)
61 objectStore := createStore(universalClient)
62 roomAllocator, err := NewRoomAllocator(conf, router, objectStore)
63 if err != nil {
64 return nil, err
65 }
66 egressClient, err := rpc.NewEgressClient(clientParams)
67 if err != nil {
68 return nil, err
69 }
70 egressStore := getEgressStore(objectStore)
71 ingressStore := getIngressStore(objectStore)
72 sipStore := getSIPStore(objectStore)
73 keyProvider, err := createKeyProvider(conf)
74 if err != nil {
75 return nil, err
76 }
77 queuedNotifier, err := createWebhookNotifier(conf, keyProvider)
78 if err != nil {
79 return nil, err
80 }
81 analyticsService := telemetry.NewAnalyticsService(conf, currentNode)
82 telemetryService := createTelemetryService(queuedNotifier, analyticsService)
83 ioInfoService, err := NewIOInfoService(messageBus, egressStore, ingressStore, sipStore, telemetryService)
84 if err != nil {
85 return nil, err
86 }
87 rtcEgressLauncher := NewEgressLauncher(egressClient, ioInfoService, objectStore)
88 topicFormatter := rpc.NewTopicFormatter()
89 roomClient, err := rpc.NewTypedRoomClient(clientParams)
90 if err != nil {
91 return nil, err

Callers 4

createSingleNodeServerFunction · 0.92
createMultiNodeServerFunction · 0.92
setupServerWithWebhookFunction · 0.92
startServerFunction · 0.92

Calls 15

NewSignalClientFunction · 0.92
NewRoomManagerClientFunction · 0.92
CreateRouterFunction · 0.92
NewAnalyticsServiceFunction · 0.92
NewAgentClientFunction · 0.92
NewRoomAllocatorFunction · 0.85
NewIOInfoServiceFunction · 0.85
NewEgressLauncherFunction · 0.85
NewRoomServiceFunction · 0.85
NewAgentDispatchServiceFunction · 0.85
NewEgressServiceFunction · 0.85
NewIngressServiceFunction · 0.85

Tested by 1

setupServerWithWebhookFunction · 0.74