/* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 8 ĠAt lassian ĠP ty ĠLtd Ċ Ġ* Ċ Ġ* Ġ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 . nl j . transform . node Ċ Ċ import Ġorg . j its i . nl j . Event Ċ import Ġorg . j its i . nl j . Packet Info Ċ import Ġorg . j its i . nl j . R tp Payload Type Added Event Ċ import Ġorg . j its i . nl j . R tp Payload Type Clear Event Ċ import Ġorg . j its i . nl j . util . c info Ċ import Ġorg . j its i . rtp . Sr tp Packet Ċ import Ġunsigned . to UInt Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ Ċ class ĠPayload Type Filter Node Ġ: ĠNode (" R TP Ġpayload Ġtype Ġfilter ") Ġ{ ĊĠĠĠ Ġprivate Ġval Ġaccepted Payload Types : ĠMutable Set < Int > Ġ= ĠConcurrent HashMap . new Key Set () ĊĊĠĠĠ Ġoverride Ġfun Ġdo Process Packets ( p : ĠList < Packet Info >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfiltered Packets Ġ= Ġp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġaccepted Payload Types . contains ( it . packet As < Sr tp Packet >(). header . payload Type ) Ġ} ĊĠĠĠĠĠĠĠ Ġnext ( filtered Packets ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Event ( event : ĠEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠR tp Payload Type Added Event Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . c info Ġ{ Ġ" Payload Ġtype Ġfilter Ġ${ hashCode ()} Ġnow Ġaccepting ĠPT Ġ${ event . payload Type . to UInt () }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccepted Payload Types . add ( event . payload Type . to UInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠR tp Payload Type Clear Event Ġ-> Ġaccepted Payload Types . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . handle Event ( event ) ĊĠĠĠ Ġ} Ċ } Ċ