package Ġio . github . cr ack the code ab hi . k red s . connection Ċ Ċ public Ġclass ĠK red s ClientConfig Ġprivate Ġconstructor ( builder : ĠBuilder ) Ġ{ ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠNO _ READ _ TIMEOUT : ĠInt Ġ= Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġval Ġconnect TimeOut Millis : ĠInt ĊĊĠĠĠ Ġpublic Ġval Ġso KeepAlive : ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIn ĠSubscriber Ġclient , Ġread Timeout Ġcan Ġbe Ġset Ġto Ġ- 1 , Ġto Ġnever Ġtimeout Ġfrom Ġreading Ġfrom Ġsubscription Ġconnection . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval Ġread Timeout Seconds : ĠInt ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġinit Ġwith Ġconfigured Ġvalues Ġor Ġdefault ĊĠĠĠĠĠĠĠ Ġconnect TimeOut Millis Ġ= Ġbuilder . connect TimeOut Millis Ġ?: Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠ Ġread Timeout Seconds Ġ= Ġbuilder . read Timeout Seconds Ġ?: Ġ 3 0 ĊĠĠĠĠĠĠĠ Ġso KeepAlive Ġ= Ġbuilder . so KeepAlive Ġ?: Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġdata Ġclass ĠBuilder ( ĊĠĠĠĠĠĠĠ Ġvar Ġconnect TimeOut Millis : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġread Timeout Seconds : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġso KeepAlive : ĠBoolean ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġany Ġargument Ġis Ġinvalid Ġor Ġconflicts Ġwith Ġother Ġconfiguration ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġfun Ġbuild (): ĠK red s ClientConfig Ġ= ĠK red s ClientConfig ( this ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġval Ġdefault ClientConfig Ġ: ĠK red s ClientConfig Ġ= ĠK red s ClientConfig . Builder (). build () Ċ Ċ internal Ġval Ġdefault Subscriber ClientConfig Ġ: ĠK red s ClientConfig Ġ= ĠK red s ClientConfig . Builder ( read Timeout Seconds Ġ= ĠK red s ClientConfig . NO _ READ _ TIMEOUT ). build ()