MCPcopy
hub / github.com/vulcand/vulcand / processChange

Function processChange

supervisor/supervisor.go:298–333  ·  view source on GitHub ↗

processChange takes the backend change notification emitted by the backend and applies it to the server.

(p proxy.Proxy, ch interface{})

Source from the content-addressed store, hash-verified

296// processChange takes the backend change notification emitted by the backend
297// and applies it to the server.
298func processChange(p proxy.Proxy, ch interface{}) error {
299 switch change := ch.(type) {
300 case *engine.HostUpserted:
301 return p.UpsertHost(change.Host)
302 case *engine.HostDeleted:
303 return p.DeleteHost(change.HostKey)
304
305 case *engine.ListenerUpserted:
306 return p.UpsertListener(change.Listener)
307
308 case *engine.ListenerDeleted:
309 return p.DeleteListener(change.ListenerKey)
310
311 case *engine.FrontendUpserted:
312 return p.UpsertFrontend(change.Frontend)
313 case *engine.FrontendDeleted:
314 return p.DeleteFrontend(change.FrontendKey)
315
316 case *engine.MiddlewareUpserted:
317 return p.UpsertMiddleware(change.FrontendKey, change.Middleware)
318
319 case *engine.MiddlewareDeleted:
320 return p.DeleteMiddleware(change.MiddlewareKey)
321
322 case *engine.BackendUpserted:
323 return p.UpsertBackend(change.Backend)
324 case *engine.BackendDeleted:
325 return p.DeleteBackend(change.BackendKey)
326
327 case *engine.ServerUpserted:
328 return p.UpsertServer(change.BackendKey, change.Server)
329 case *engine.ServerDeleted:
330 return p.DeleteServer(change.ServerKey)
331 }
332 return fmt.Errorf("unsupported change: %#v", ch)
333}

Callers 1

initMethod · 0.85

Calls 12

UpsertHostMethod · 0.65
DeleteHostMethod · 0.65
UpsertListenerMethod · 0.65
DeleteListenerMethod · 0.65
UpsertFrontendMethod · 0.65
DeleteFrontendMethod · 0.65
UpsertMiddlewareMethod · 0.65
DeleteMiddlewareMethod · 0.65
UpsertBackendMethod · 0.65
DeleteBackendMethod · 0.65
UpsertServerMethod · 0.65
DeleteServerMethod · 0.65

Tested by

no test coverage detected