@Override public Packet newInstance(byte[] rawData, int offset, int length, EtherType number) { if (rawData == null || number == null) { StringBuilder sb = new StringBuilder(40); sb.append("rawData: ").append(rawData).append(" number: ").append(number); throw new NullPointerException(sb.toString()); } PacketInstantiater instantiater = instantiaters.get(number); if (instantiater != null) { try { return instantiater.newInstance(rawData, offset, length); } catch (IllegalRawDataException e) { return IllegalPacket.newPacket(rawData, offset, length); } } if ((number.value() & 0xFFFF) <= EtherType.IEEE802_3_MAX_LENGTH) { try { return LlcPacket.newPacket(rawData, offset, length); } catch (IllegalRawDataException e) { IllegalPacket.newPacket(rawData, offset, length); } } return newInstance(rawData, offset, length); } }
@Test public void testNewPacket() { try { LlcPacket p = LlcPacket.newPacket(packet.getRawData(), 0, packet.getRawData().length); assertEquals(packet, p); } catch (IllegalRawDataException e) { throw new AssertionError(e); } }
@Test public void testNewPacket() { try { LlcPacket p = LlcPacket.newPacket(packet.getRawData(), 0, packet.getRawData().length); assertEquals(packet, p); } catch (IllegalRawDataException e) { throw new AssertionError(e); } }
@Test public void testNewPacket() { try { LlcPacket p = LlcPacket.newPacket(packet.getRawData(), 0, packet.getRawData().length); assertEquals(packet, p); } catch (IllegalRawDataException e) { throw new AssertionError(e); } }
@Override public Packet newInstance(byte[] rawData, int offset, int length, EtherType number) { if (rawData == null || number == null) { StringBuilder sb = new StringBuilder(40); sb.append("rawData: ").append(rawData).append(" number: ").append(number); throw new NullPointerException(sb.toString()); } PacketInstantiater instantiater = instantiaters.get(number); if (instantiater != null) { try { return instantiater.newInstance(rawData, offset, length); } catch (IllegalRawDataException e) { return IllegalPacket.newPacket(rawData, offset, length); } } if ((number.value() & 0xFFFF) <= EtherType.IEEE802_3_MAX_LENGTH) { try { return LlcPacket.newPacket(rawData, offset, length); } catch (IllegalRawDataException e) { IllegalPacket.newPacket(rawData, offset, length); } } return newInstance(rawData, offset, length); } }