package Ġcom . ch enk h . v chat . server . net Ċ Ċ import Ġcom . ch enk h . v chat . base . I Decoder Ċ import Ġcom . ch enk h . v chat . base . I Encoder Ċ import Ġcom . ch enk h . v chat . server . coder . Json Encoder Ċ import Ġcom . ch enk h . v chat . server . net . aio . A io Server Ċ import Ġcom . ch enk h . v chat . server . net . bio . Bio Server Ċ import Ġjava . io . IOException Ċ import Ġjava . util . function . Supplier Ċ Ċ interface ĠI Server Ġ: ĠI Connect Observable , ĠI Msg Observable Ġ{ ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġstart ( port : ĠInt ) ĊĊĠĠĠ Ġval Ġis Started : ĠBoolean ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġstop () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate A io Server ( encoder : I Encoder , decoder : I Decoder ): ĠI Server Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠA io Server ( decoder , encoder ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate Bio Server ( encoder : ĠI Encoder , decoder : ĠI Decoder ): ĠI Server Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBio Server ( decoder , encoder ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }