package Ġcom . cam o al . reactive coroutines Ċ Ċ import Ġkotlin . coroutines . Coroutine Context Ċ Ċ interface ĠObservable Source < T > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProvide Ġa ĠTest Observable Ġand Ġcancel Ġthe Ġrepeat Ġand Ġretry Ġoptions . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTest Observable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtest (): ĠTest Observable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġthe Ġdispatcher Ġwhere Ġthe Ġobservable Ġreceive Ġthe Ġevents Ġemitted . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġobserve On ( dispatcher : ĠCor outine Context ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġthe Ġdispatcher Ġwhere Ġthe Ġobservable Ġis Ġexecuted . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsubscribe On ( dispatcher : ĠCor outine Context ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġthe Ġtask Ġthat Ġis Ġexecuted Ġwhen Ġyou Ġsubscribe Ġto Ġthe Ġobservable . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfunction Ġis Ġexecuted Ġwhen Ġyou Ġsubscribe Ġto Ġthe Ġobservable . ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdo On Subscribe ( function : ĠSubscribe Listener ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġthe Ġtask Ġthat Ġis Ġexecuted Ġwhen Ġthe Ġobservable Ġends . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġfunction Ġis Ġexecuted Ġwhen Ġthe Ġobservable Ġends . ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdo On Terminate ( function : ĠTermin ate Listener ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġthe Ġnumber Ġof Ġtimes Ġthe Ġtask Ġis Ġrepeated . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtimes Ġnumber Ġof Ġtimes Ġthe Ġtask Ġis Ġrepeated . ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġretry ( times : ĠInt ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIn Ġcase Ġof Ġerror Ġthe Ġobservable Ġretry Ġwhen Ġthe Ġpredicate Ġis Ġful filled . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġpredicate ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġretry When ( predicate : ĠPredicate < Throwable >): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecify Ġtime Ġin Ġmilliseconds Ġto Ġrer un Ġthe Ġtask . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdelay In Milliseconds Ġtime Ġin Ġmilliseconds Ġto Ġrer un Ġthe Ġtask . ĊĠĠĠĠ Ġ* Ġ@ return ĠObservable Source . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrepeat ( delay In Milliseconds : ĠLong ): ĠObservable Source < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSub scri bes Ġto Ġan ĠObservable Source Ġand Ġprovides Ġcallbacks Ġto Ġhandle Ġthe Ġitems Ġit Ġemits ĊĠĠĠĠ Ġ* Ġand Ġany Ġerror Ġor Ġcompletion Ġnotification . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġon Next Ġaccepts Ġemission s Ġfrom Ġan ĠObservable Source . ĊĠĠĠĠ Ġ* Ġ@ param ĠonError Ġaccepts Ġany Ġerror Ġfrom Ġan ĠObservable Source . ĊĠĠĠĠ Ġ* Ġ@ param ĠonComplete Ġaccepts Ġthe Ġcompletion Ġnotification Ġfrom Ġan ĠObservable Source . ĊĠĠĠĠ Ġ* Ġ@ return Ġdis posable . ĊĠĠĠĠ Ġ* Ġ@ see ĠDis posable ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsubscribe ( onNext : ĠNext Listener < T > Ġ= Ġ{}, ĠonError : ĠError Listener Ġ= Ġ{}, ĠonComplete : ĠComplete Listener Ġ= Ġ{} ): ĠDis posable Ċ }