package Ġcom . github . y ona 1 6 8 . gir affe . net . packet . pool Ċ Ċ /** Ċ Ġ* ĠA Ġsupplier Ġof Ġobjects Ġthat Ġre uses Ġpassed Ġold Ġones . ĠThis Ġallows Ġfor Ġless Ġinstances Ġand Ġthus Ġmore Ġefficiency . Ċ Ġ*/ Ċ interface ĠPool < T > Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġreturns Ġthe Ġnext Ġitem Ġin Ġthe Ġpool . ĠE quivalent Ġto Ġcalling Ġ[ get ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġnext Item : ĠT ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġnext Ġitem Ġin Ġthe Ġpool . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget (): ĠT ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMakes Ġthe Ġpassed Ġ[ item ] Ġavailable Ġfor Ġreuse , Ġand Ġthus Ġable Ġto Ġbe Ġpassed Ġto Ġthe Ġpool . ĊĠĠĠĠ Ġ* Ġ@ param [ item ] Ġthe Ġitem Ġto Ġclear . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġitem . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear ( item : ĠT ): ĠT ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRelease s Ġthe Ġpassed Ġ[ item ] Ġback Ġinto Ġthe Ġpool ĠWITHOUT Ġclearing Ġit Ġfirst . ĊĠĠĠĠ Ġ* Ġ@ param [ item ] Ġthe Ġitem Ġto Ġrelease . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġsuccessfully Ġreleased . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrelease ( item : ĠT ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Calls Ġclear Ġon Ġthe Ġpassed Ġ[ item ] Ġand ĠTHEN Ġreleases Ġit . ĊĠĠĠĠ Ġ* Ġ@ param [ item ] Ġthe Ġitem Ġto Ġclear Ġand Ġrelease . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġsuccessfully Ġreleased . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear And Release ( item : ĠT ) Ġ= Ġrelease ( clear ( item )) Ċ Ċ }