processChange takes the backend change notification emitted by the backend and applies it to the server.
(p proxy.Proxy, ch interface{})
| 296 | // processChange takes the backend change notification emitted by the backend |
| 297 | // and applies it to the server. |
| 298 | func 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 | } |
no test coverage detected