package Ġcom . bos w el ja . watch connection . serialization Ċ Ċ import Ġjava . nio . ByteBuffer Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Short ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠShort Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Short > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠShort ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Short . SIZE _ BYTES ). put Short ( data ). array () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠShort Ġ= ĠByteBuffer . wrap ( bytes !! ). short Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Int ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠInt Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Int > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠInt ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Int . SIZE _ BYTES ). put Int ( data ). array () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠInt Ġ= ĠByteBuffer . wrap ( bytes !! ). int Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Long ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠLong Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Long > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠLong ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Long . SIZE _ BYTES ). put Long ( data ). array () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠLong Ġ= ĠByteBuffer . wrap ( bytes !! ). long Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Float ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠFloat Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Float > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠFloat ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Float . SIZE _ BYTES ). put Float ( data ). array () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠFloat Ġ= ĠByteBuffer . wrap ( bytes !! ). float Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Double ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠDouble Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Double > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠDouble ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Double . SIZE _ BYTES ). put Double ( data ). array () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠDouble Ġ= ĠByteBuffer . wrap ( bytes !! ). double Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ Char ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠChar Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < Char > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠChar ): ĠByteArray Ġ= ĊĠĠĠĠĠĠĠ ĠByteBuffer . allocate ( Char . SIZE _ BYTES ). put Char ( data ). array () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠChar Ġ= ĠByteBuffer . wrap ( bytes !! ). char Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Message Serializer ] Ġfor Ġhandling Ġ[ String ]. Ċ Ġ*/ Ċ public Ġactual Ġclass ĠString Serializer Ġactual Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġmessage Paths : ĠSet < String > Ċ ) Ġ: ĠMessage Serializer < String > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġserialize ( data : ĠString ): ĠByteArray Ġ= Ġdata . toByteArray ( Charsets . UTF _ 8 ) ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdeserialize ( bytes : ĠByteArray ?): ĠString Ġ= ĠString ( bytes !! , ĠChar sets . UTF _ 8 ) Ċ } Ċ