package Ġcom . jetbrains . python . console . transport Ċ Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġio . netty . buffer . Byte Buf Ċ import Ġio . netty . buffer . Un p ooled Ċ import Ġorg . apache . thrift . transport . T Transport Ċ import Ġorg . apache . thrift . transport . T Transport Exception Ċ import Ġjava . io . IOException Ċ import Ġjava . io . Pip ed InputStream Ċ import Ġjava . io . Pip ed OutputStream Ċ Ċ abstract Ġclass ĠTC umulative Transport Ġ: ĠT Transport () Ġ{ ĊĠ Ġval ĠoutputStream : ĠP ip ed OutputStream Ġ= ĠP ip ed OutputStream () ĊĊĠ Ġprivate Ġval Ġpip ed InputStream : ĠP ip ed InputStream Ġ= ĠP ip ed InputStream ( output Stream ) ĊĊĠ Ġprivate Ġval Ġmessage Buffer : ĠByte Buf Ġ= ĠUn p ooled . buffer () ĊĊĠ Ġoverride Ġfun Ġopen () Ġ{} ĊĊĠ Ġfinal Ġoverride Ġfun Ġwrite ( buf : ĠByteArray , Ġoff : ĠInt , Ġlen : ĠInt ) Ġ{ ĊĠĠĠ Ġmessage Buffer . write Bytes ( buf , Ġoff , Ġlen ) ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġflush () Ġ{ ĊĠĠĠ Ġval Ġlength Ġ= Ġmessage Buffer . readable Bytes () ĊĠĠĠ Ġval Ġcontent Ġ= ĠByteArray ( length ) ĊĠĠĠ Ġmessage Buffer . read Bytes ( content ) ĊĠĠĠ Ġmessage Buffer . clear () ĊĊĠĠĠ Ġwrite Message ( content ) ĊĠ Ġ} ĊĊĠ Ġabstract Ġfun Ġwrite Message ( content : ĠByteArray ) ĊĊĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠ ĠLOG . debug (" Closing Ġcumulative Ġtransport ") ĊĊĠĠĠ ĠoutputStream . close () ĊĠĠĠ Ġpip ed InputStream . close () ĊĠ Ġ} ĊĊĠ Ġ@ Throws ( T Transport Exception :: class ) ĊĠ Ġfinal Ġoverride Ġfun Ġread ( buf : ĠByteArray , Ġoff : ĠInt , Ġlen : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġreturn Ġpip ed InputStream . read ( buf , Ġoff , Ġlen ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠ Ġthrow ĠT Transport Exception ( T Transport Exception . UNKNOWN , Ġe ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠLOG Ġ= ĠLogger . getInstance ( TC umulative Transport :: class . java ) ĊĠ Ġ} Ċ }