/* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 8 Ġ- Ġpresent Ġ 8 x 8 , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . j its i . rtp . rt cp Ċ Ċ class ĠCompound R tcp Packet ( ĊĠĠĠ Ġbuffer : ĠByteArray , ĊĠĠĠ Ġoffset : ĠInt , ĊĠĠĠ Ġlength : ĠInt Ċ ) Ġ: ĠR tcp Packet ( buffer , Ġoffset , Ġlength ) Ġ{ ĊĊĠĠĠ Ġval Ġpackets : ĠList < R tcp Packet > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbytes Remaining Ġ= Ġlength ĊĠĠĠĠĠĠĠ Ġvar Ġcurr Offset Ġ= Ġoffset ĊĠĠĠĠĠĠĠ Ġval Ġr tcp Packets Ġ= Ġmutable ListOf < R tcp Packet >() ĊĠĠĠĠĠĠĠ Ġwhile Ġ( bytes Remaining Ġ> ĠR tcp Header . SIZE _ BYTES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr tcp Packet Ġ= Ġparse ( buffer , Ġcurr Offset ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġr tcp Packets . add ( rt cp Packet ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurr Offset Ġ+= Ġr tcp Packet . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Remaining Ġ-= Ġr tcp Packet . length ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġr tcp Packets ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠR tcp Packet Ġ= ĠCompound R tcp Packet ( clone Buffer ( 0 ), Ġ 0 , Ġlength ) Ċ } Ċ