| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| @startuml |
| hide empty description |
| state "Waiting for Required" as WaitingForRequired |
| state "Initialized And Waiting For Required" as Initialized |
| |
| [*] -down-> Inactive |
| Inactive -left-> [*] |
| Inactive -right-> WaitingForRequired |
| WaitingForRequired -down-> Initializing |
| Initializing -down-> Initialized |
| |
| state Active { |
| state "Tracking Optional" as TrackingOptional |
| [*] -> Starting |
| Starting -down-> TrackingOptional |
| TrackingOptional -> Suspending |
| Suspending -> Suspended |
| Suspended -> Resuming |
| Resuming --> TrackingOptional |
| TrackingOptional --> Stopping |
| Stopping -left-> [*] |
| } |
| |
| Initialized -> Active |
| Active -> Initialized |
| |
| Initialized -down-> Deinitializing |
| Deinitializing -down-> Inactive |
| |
| Initializing: <i>Call <b>init</b> callback</i> |
| Starting: <i>Call <b>start</b> callback</i> |
| Starting: <i>Register provided services async</i> |
| Stopping: <i>Unregister provided services</i> |
| Stopping: <i>Call <b>stop</b> callback</i> |
| Deinitializing: <i>Call <b>deinit</b> callback</i> |
| Suspending: <i>Unregister provided services</i> |
| Suspending: <i>Call <b>stop</b> callback</i> |
| Resuming: <i>Call <b>start</b> callback</i> |
| Resuming: <i>Register provided services async</i> |
| |
| @enduml |