## Uses of Interface
org.apache.storm.utils.SupervisorIfaceFactory

- Packages that use SupervisorIfaceFactory
  Package | Description
  --- | ---
  org.apache.storm.daemon.worker |
  org.apache.storm.utils |

- - ### Uses of SupervisorIfaceFactory in org.apache.storm.daemon.worker

    Constructor parameters in org.apache.storm.daemon.worker with type arguments of type SupervisorIfaceFactory
    Constructor | Description
    --- | ---
    `Worker​(Map<String,​Object> conf, IContext context, String topologyId, String assignmentId, int supervisorPort, int port, String workerId, Supplier<SupervisorIfaceFactory> supervisorIfaceSupplier)` | TODO: should worker even take the topologyId as input? this should be deducible from cluster state (by searching through assignments) what about if there's inconsistency in assignments? -> but nimbus should guarantee this consistency.
    `WorkerState​(Map<String,​Object> conf, IContext mqContext, String topologyId, String assignmentId, Supplier<SupervisorIfaceFactory> supervisorIfaceSupplier, int port, String workerId, Map<String,​Object> topologyConf, IStateStorage stateStorage, IStormClusterState stormClusterState, Collection<IAutoCredentials> autoCredentials, StormMetricRegistry metricRegistry, Credentials initialCredentials)` |

  - ### Uses of SupervisorIfaceFactory in org.apache.storm.utils

    Classes in org.apache.storm.utils that implement SupervisorIfaceFactory
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `SupervisorClient` | Client for interacting with Supervisor server, now we use supervisor server mainly for cases below.