* @param skbuf
* @throws NetworkException
*/
private void deliverFragment(IPv4Header hdr, SocketBuffer skbuf) throws SocketException {
final Object key = hdr.getFragmentListKey();
final IPv4FragmentList flist = (IPv4FragmentList) fragments.get(key);
if (flist == null) {
// This is a fragment for a new list
fragments.put(key, new IPv4FragmentList(skbuf));
} else {
if (flist.isAlive()) {
flist.add(skbuf);
if (flist.isComplete()) {
// The fragmentlist is now complete, deliver it
final SocketBuffer pbuf = flist.getPacket();
final IPv4Header phdr = (IPv4Header) pbuf.getNetworkLayerHeader();
stat.reassembled.inc();
deliver(phdr, pbuf);
}
} else {