package Ġio . envoy proxy . envoy mobile Ċ Ċ import Ġio . envoy proxy . envoy mobile . engine . En voy Configuration Ċ import Ġio . envoy proxy . envoy mobile . engine . En voy Engine Ċ Ċ /** Ċ Ġ* ĠAn Ġimplementation Ġof Ġ{@ link ĠEngine }. Ċ Ġ*/ Ċ class ĠEngine Impl Ġinternal Ġconstructor ( ĊĠ Ġinternal Ġval Ġenvoy Engine : ĠEn voy Engine , ĊĠ Ġinternal Ġval Ġenvoy Configuration : ĠEn voy Configuration ?, ĊĠ Ġinternal Ġval Ġconfiguration YAML : ĠString ?, ĊĠ Ġinternal Ġval Ġlog Level : ĠLogLevel , ĊĠ Ġinternal Ġval Ġon Engine Running : Ġ(() Ġ-> ĠUnit )? Ċ ) Ġ: ĠEngine Ġ{ ĊĊĠ Ġprivate Ġval Ġstream Client : ĠStream Client ĊĠ Ġprivate Ġval Ġstats Client : ĠStats Client ĊĊĠ Ġconstructor ( ĊĠĠĠ Ġenvoy Engine : ĠEn voy Engine , ĊĠĠĠ Ġenvoy Configuration : ĠEn voy Configuration , ĊĠĠĠ Ġlog Level : ĠLogLevel Ġ= ĠLogLevel . INFO , ĊĠĠĠ Ġon Engine Running : Ġ(() Ġ-> ĠUnit )? ĊĠ Ġ) Ġ: Ġthis ( envoy Engine , Ġenvoy Configuration , Ġnull , Ġlog Level , Ġon Engine Running ) ĊĊĠ Ġconstructor ( ĊĠĠĠ Ġenvoy Engine : ĠEn voy Engine , ĊĠĠĠ Ġconfiguration YAML : ĠString , ĊĠĠĠ Ġlog Level : ĠLogLevel Ġ= ĠLogLevel . INFO , ĊĠĠĠ Ġon Engine Running : Ġ(() Ġ-> ĠUnit )? ĊĠ Ġ) Ġ: Ġthis ( envoy Engine , Ġnull , Ġconfiguration YAML , Ġlog Level , Ġon Engine Running ) ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġstream Client Ġ= ĠStream Client Impl ( envoy Engine ) ĊĠĠĠ Ġstats Client Ġ= ĠStats Client Impl ( envoy Engine ) ĊĠĠĠ Ġif Ġ( envoy Configuration Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġenvoy Engine . run With Config ( configuration YAML , Ġlog Level . level , Ġon Engine Running ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġenvoy Engine . run With Config ( envoy Configuration , Ġlog Level . level , Ġon Engine Running ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġstream Client (): ĠStream Client Ġ{ ĊĠĠĠ Ġreturn Ġstream Client ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġstats Client (): ĠStats Client Ġ{ ĊĠĠĠ Ġreturn Ġstats Client ĊĠ Ġ} Ċ } Ċ