Skip to content

Commit dd523a3

Browse files
committed
Migrate to Apache Log4j 2.
1 parent a976fe5 commit dd523a3

File tree

7 files changed

+155
-121
lines changed

7 files changed

+155
-121
lines changed

pom.xml

+10
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,15 @@
3939
<artifactId>jsr305</artifactId>
4040
<version>2.0.1</version>
4141
</dependency>
42+
<dependency>
43+
<groupId>org.apache.logging.log4j</groupId>
44+
<artifactId>log4j-api</artifactId>
45+
<version>2.0-beta6</version>
46+
</dependency>
47+
<dependency>
48+
<groupId>org.apache.logging.log4j</groupId>
49+
<artifactId>log4j-core</artifactId>
50+
<version>2.0-beta6</version>
51+
</dependency>
4252
</dependencies>
4353
</project>

run.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/sh
22

33
java \
4-
-cp target/classes \
4+
-cp log4j-api-2.0-beta6.jar\;log4j-core-2.0-beta6.jar\;target/classes \
55
testreceive $*

src/main/java/hk/miru/javapgm/Packet.java

+10-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,13 @@
44

55
import static hk.miru.javapgm.Preconditions.checkNotNull;
66

7+
import org.apache.logging.log4j.LogManager;
8+
import org.apache.logging.log4j.Logger;
9+
710
public class Packet {
811

12+
private static Logger LOG = LogManager.getLogger (Packet.class.getName());
13+
914
public static final int AFI_IP = 1;
1015
public static final int AFI_IP6 = 2;
1116

@@ -42,7 +47,7 @@ public class Packet {
4247
public static boolean parseUdpEncapsulated (SocketBuffer skb) {
4348
checkNotNull (skb);
4449
if (skb.getRawBytes().length < SIZEOF_PGM_HEADER) {
45-
System.out.println ("UDP payload too small for PGM packet at " + skb.getRawBytes().length + " bytes, expecting at least " + SIZEOF_PGM_HEADER + " bytes.");
50+
LOG.debug ("UDP payload too small for PGM packet at {} bytes, expecting at least {} bytes.", skb.getRawBytes().length, SIZEOF_PGM_HEADER);
4651
return false;
4752
}
4853

@@ -57,19 +62,19 @@ private static boolean parse (SocketBuffer skb) {
5762
skb.getHeader().clearChecksum();
5863
final int calculated_checksum = doChecksum (skb.getRawBytes());
5964
if (source_checksum != calculated_checksum) {
60-
System.out.println ("PGM packet checksum mismatch, reported 0x" + String.format ("%x", source_checksum) + " whilst calculated 0x" + String.format ("%x", calculated_checksum) + ".");
65+
LOG.debug ("PGM packet checksum mismatch, reported {} whilst calculated {}.", String.format ("%#x", source_checksum), String.format ("%#x", calculated_checksum));
6166
return false;
6267
}
6368
} else {
6469
if (PGM_ODATA == skb.getHeader().getType()) {
65-
System.out.println ("PGM checksum missing whilst mandatory for ODATA packets.");
70+
LOG.debug ("PGM checksum missing whilst mandatory for ODATA packets.");
6671
return false;
6772
}
6873
if (PGM_RDATA == skb.getHeader().getType()) {
69-
System.out.println ("PGM checksum missing whilst mandatory for RDATA packets.");
74+
LOG.debug ("PGM checksum missing whilst mandatory for RDATA packets.");
7075
return false;
7176
}
72-
System.out.println ("No PGM checksum.");
77+
LOG.debug ("No PGM checksum.");
7378
}
7479

7580
skb.setTransportSessionId (new TransportSessionId (skb.getHeader().getGlobalSourceId(), skb.getHeader().getSourcePort()));

src/main/java/hk/miru/javapgm/Peer.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
package hk.miru.javapgm;
55

66
import static hk.miru.javapgm.Preconditions.checkNotNull;
7+
78
import java.net.InetAddress;
89
import java.util.List;
910
import java.util.Queue;
1011

1112
public class Peer {
12-
13+
1314
private TransportSessionId tsi = null;
1415
private InetAddress groupPath = null;
1516
private InetAddress nla = null, local_nla = null;

src/main/java/hk/miru/javapgm/ReceiveWindow.java

+46-41
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
import java.util.Queue;
1010
import java.util.concurrent.ConcurrentLinkedQueue;
1111

12+
import org.apache.logging.log4j.LogManager;
13+
import org.apache.logging.log4j.Logger;
14+
1215
public class ReceiveWindow {
16+
17+
private static Logger LOG = LogManager.getLogger (ReceiveWindow.class.getName());
1318

1419
public enum PacketState {
1520
PKT_ERROR_STATE,
@@ -257,7 +262,7 @@ public ReceiveWindow (
257262
this.tsi = tsi;
258263
this.max_tpdu = tpdu_size;
259264

260-
System.out.println ("alloc_sqns:" + alloc_sqns);
265+
LOG.debug ("alloc_sqns: {}", alloc_sqns);
261266

262267
/* empty state:
263268
*
@@ -294,44 +299,45 @@ public Returns add (SocketBuffer skb, long now, long nak_rb_expiry)
294299
{
295300
checkNotNull (skb);
296301
Returns status;
297-
System.out.println ("add ( " +
298-
"\"skb\": " + skb + "" +
299-
" )");
302+
LOG.debug ("add (\"skb\": {})", skb);
300303

301304
skb.setControlBuffer (new State ());
302305
skb.setSequenceNumber (skb.getAsOriginalData().getDataSequenceNumber());
303306

304307
if (skb.getLength() != skb.getHeader().getTsduLength()) {
305-
System.out.println ("SKB length does not match TSDU length.");
308+
LOG.debug ("SKB length does not match TSDU length.");
306309
return Returns.RXW_MALFORMED;
307310
}
308311

309312
/* protocol sanity check: valid trail pointer wrt. sequence */
310313
if (skb.getSequenceNumber().minus (skb.getAsOriginalData().getDataTrail()).longValue() >= ((UINT32_MAX/2)-1)) {
311-
System.out.println ("SKB sequence " + skb.getSequenceNumber() + " outside window horizon by " + skb.getSequenceNumber().minus (skb.getAsOriginalData().getDataTrail()) + " wrt trail " + skb.getAsOriginalData().getDataTrail());
314+
LOG.debug ("SKB sequence {} outside window horizon by {} wrt trail {}",
315+
skb.getSequenceNumber(),
316+
skb.getSequenceNumber().minus (skb.getAsOriginalData().getDataTrail()),
317+
skb.getAsOriginalData().getDataTrail());
312318
return Returns.RXW_BOUNDS;
313319
}
314320

315321
/* drop parity packets */
316322
if (skb.getHeader().isParity()) {
317-
System.out.println ("Unsupported parity packet");
323+
LOG.debug ("Unsupported parity packet");
318324
return Returns.RXW_MALFORMED;
319325
}
320326

321327
if (skb.isFragment()) {
322328
if (skb.getFragmentOption().getApduLength() == skb.getLength()) {
323-
System.out.println ("Fragmented message contains only one fragment.");
329+
LOG.debug ("Fragmented message contains only one fragment.");
324330
}
325331
if (skb.getFragmentOption().getApduLength() < skb.getLength()) {
326-
System.out.println ("SKB length greated than APDU length.");
332+
LOG.debug ("SKB length greated than APDU length.");
327333
return Returns.RXW_MALFORMED;
328334
}
329335
if (skb.getFragmentOption().getFirstSequenceNumber().gt (skb.getSequenceNumber())) {
330-
System.out.println ("Fragment sequence number less than first message fragment.");
336+
LOG.debug ("Fragment sequence number less than first message fragment.");
331337
return Returns.RXW_MALFORMED;
332338
}
333339
if (skb.getFragmentOption().getApduLength() > MAX_APDU) {
334-
System.out.println ("APDU greater than supported length.");
340+
LOG.debug ("APDU greater than supported length.");
335341
return Returns.RXW_MALFORMED;
336342
}
337343
}
@@ -344,15 +350,16 @@ public Returns add (SocketBuffer skb, long now, long nak_rb_expiry)
344350

345351
if (skb.getSequenceNumber().lt (this.commitLead)) {
346352
if (skb.getSequenceNumber().gte (this.trail)) {
347-
System.out.println ("Duplicate packet from window");
353+
LOG.debug ("Duplicate packet from window");
348354
return Returns.RXW_DUPLICATE;
349355
} else {
350-
System.out.println ("Duplicate packet before window");
356+
LOG.debug ("Duplicate packet before window");
351357
return Returns.RXW_BOUNDS;
352358
}
353359
}
354360

355-
System.out.println ("SKB:" + skb.getSequenceNumber() + " trail:" + this.trail + " commit:" + this.commitLead + " lead:" + this.lead + " (RXW_TRAIL:" + this.rxw_trail + ")");
361+
LOG.debug ("SKB:{} trail:{} commit:{} lead:{} (RXW_TRAIL:{})",
362+
skb.getSequenceNumber(), this.trail, this.commitLead, this.lead, this.rxw_trail);
356363
if (skb.getSequenceNumber().lte (this.lead)) {
357364
this.hasEvent = true;
358365
return insert (skb);
@@ -376,7 +383,7 @@ public Returns add (SocketBuffer skb, long now, long nak_rb_expiry)
376383
private void define (SequenceNumber lead)
377384
{
378385
checkNotNull (lead);
379-
System.out.println ("defining window");
386+
LOG.debug ("defining window");
380387
this.lead = lead;
381388
this.trail = this.lead.plus (1);
382389
this.rxw_trail_init = this.trail;
@@ -389,7 +396,7 @@ public int update (SequenceNumber txw_lead, SequenceNumber txw_trail, long now,
389396
{
390397
checkNotNull (txw_lead);
391398
checkNotNull (txw_trail);
392-
System.out.println ("update");
399+
LOG.debug ("update");
393400
if (!this.isDefined) {
394401
define (txw_trail);
395402
return 0;
@@ -402,7 +409,7 @@ public int update (SequenceNumber txw_lead, SequenceNumber txw_trail, long now,
402409
private void updateTrail (SequenceNumber txw_trail)
403410
{
404411
checkNotNull (txw_trail);
405-
System.out.println ("updating trail");
412+
LOG.debug ("updating trail");
406413
/* advertised trail is less than the current value */
407414
if (txw_trail.lte (this.rxw_trail))
408415
return;
@@ -439,7 +446,7 @@ private void updateTrail (SequenceNumber txw_trail)
439446
this.rxw_trail.gt (sequence) && this.lead.gte (sequence);
440447
sequence = sequence.plus (1))
441448
{
442-
System.out.println ("Purge #" + sequence);
449+
LOG.debug ("Purge #{}", sequence);
443450
SocketBuffer skb = peek (sequence);
444451
State state = (State)skb.getControlBuffer();
445452
switch (state.pktState) {
@@ -483,7 +490,7 @@ private void addPlaceholder (long now, long nak_rb_expiry)
483490
this.pdata[index] = skb;
484491

485492
setPacketState (skb, PacketState.PKT_BACK_OFF_STATE);
486-
System.out.println ("Placeholder #" + this.lead + " @" + index);
493+
LOG.debug ("Placeholder #{} pdata[{}]", this.lead, index);
487494
}
488495

489496
/* Returns:
@@ -500,7 +507,7 @@ private Returns addPlaceholderRange (SequenceNumber sequence, long now, long nak
500507
return Returns.RXW_BOUNDS;
501508
}
502509
if (isFull()) {
503-
System.out.println ("Receive window full on placeholder sequence.");
510+
LOG.debug ("Receive window full on placeholder sequence.");
504511
removeTrail();
505512
}
506513
/* if packet is non-contiguous to current leading edge add place holders
@@ -509,7 +516,7 @@ private Returns addPlaceholderRange (SequenceNumber sequence, long now, long nak
509516
while (!this.lead.plus (1).equals (sequence)) {
510517
addPlaceholder (now, nak_rb_expiry);
511518
if (isFull()) {
512-
System.out.println ("Receive window full on placeholder sequence.");
519+
LOG.debug ("Receive window full on placeholder sequence.");
513520
removeTrail();
514521
}
515522
}
@@ -544,7 +551,7 @@ private int updateLead (SequenceNumber txw_lead, long now, long nak_rb_expiry)
544551
{
545552
/* slow consumer or fast producer */
546553
if (isFull()) {
547-
System.out.println ("Receive window full on window lead advancement.");
554+
LOG.debug ("Receive window full on window lead advancement.");
548555
removeTrail();
549556
}
550557
addPlaceholder (now, nak_rb_expiry);
@@ -616,12 +623,12 @@ private boolean isInvalidPayloadOption (SocketBuffer skb)
616623
private Returns insert (SocketBuffer skb)
617624
{
618625
checkNotNull (skb);
619-
System.out.println ("insert");
626+
LOG.debug ("insert");
620627
SocketBuffer placeholder = null;
621628
State state = null;
622629

623630
if (isInvalidVarPktLen (skb) || isInvalidPayloadOption (skb)) {
624-
System.out.println ("Invalid packet");
631+
LOG.debug ("Invalid packet");
625632
return Returns.RXW_MALFORMED;
626633
}
627634

@@ -680,18 +687,18 @@ private void shuffleParity (SocketBuffer skb)
680687
private Returns append (SocketBuffer skb, long now)
681688
{
682689
checkNotNull (skb);
683-
System.out.println ("append");
690+
LOG.debug ("append");
684691
if (isInvalidVarPktLen (skb) || isInvalidPayloadOption (skb)) {
685-
System.out.println ("Invalid packet");
692+
LOG.debug ("Invalid packet");
686693
return Returns.RXW_MALFORMED;
687694
}
688695

689696
if (isFull()) {
690697
if (isCommitEmpty()) {
691-
System.out.println ("Receive window full on new data, pulling trail.");
698+
LOG.debug ("Receive window full on new data, pulling trail.");
692699
removeTrail();
693700
} else {
694-
System.out.println ("Receive window full with commit data.");
701+
LOG.debug ("Receive window full with commit data.");
695702
return Returns.RXW_BOUNDS;
696703
}
697704
}
@@ -711,7 +718,7 @@ private Returns append (SocketBuffer skb, long now)
711718
this.pdata[index] = skb;
712719

713720
setPacketState (skb, PacketState.PKT_LOST_DATA_STATE);
714-
System.out.println ("APDU already declared lost, ignoring TPDU.");
721+
LOG.debug ("APDU already declared lost, ignoring TPDU.");
715722
return Returns.RXW_BOUNDS;
716723
}
717724

@@ -760,11 +767,11 @@ public boolean hasCommitData()
760767
*/
761768
public int read (List<SocketBuffer> skbs)
762769
{
763-
System.out.println ("read");
770+
LOG.debug ("read");
764771
int bytes_read = -1;
765772
if (isIncomingEmpty())
766773
return bytes_read;
767-
System.out.println ("read #" + this.commitLead);
774+
LOG.debug ("read #{}", this.commitLead);
768775
SocketBuffer skb = peek (this.commitLead);
769776
State state = (State)skb.getControlBuffer();
770777
switch (state.pktState) {
@@ -774,10 +781,10 @@ public int read (List<SocketBuffer> skbs)
774781
case PKT_LOST_DATA_STATE:
775782
/* do not purge in situ sequence */
776783
if (isCommitEmpty()) {
777-
System.out.println ("Removing lost trail from window");
784+
LOG.debug ("Removing lost trail from window");
778785
removeTrail();
779786
} else {
780-
System.out.println ("Locking trail at commit window");
787+
LOG.debug ("Locking trail at commit window");
781788
}
782789
/* fall through */
783790
case PKT_BACK_OFF_STATE:
@@ -804,9 +811,9 @@ public int read (List<SocketBuffer> skbs)
804811
*/
805812
private int removeTrail()
806813
{
807-
System.out.println ("removeTrail");
814+
LOG.debug ("removeTrail");
808815
SocketBuffer skb = peek (this.trail);
809-
System.out.println ("trail " + this.trail + " = " + skb);
816+
LOG.debug ("trail {} = {}", this.trail, skb);
810817
clearPacketState (skb);
811818
this.size -= skb.getLength();
812819
/* remove reference to skb */
@@ -817,7 +824,7 @@ private int removeTrail()
817824
/* data-loss */
818825
this.commitLead = this.commitLead.plus (1);
819826
this.cumulativeLosses++;
820-
System.out.println ("Data loss due to pulled trailing edge, fragment count " + this.fragmentCount);
827+
LOG.debug ("Data loss due to pulled trailing edge, fragment count {}", this.fragmentCount);
821828
return 1;
822829
}
823830
return 0;
@@ -833,7 +840,7 @@ private int removeTrail()
833840
*/
834841
private int incomingRead (List<SocketBuffer> skbs)
835842
{
836-
System.out.println ("incomingRead");
843+
LOG.debug ("incomingRead");
837844
int bytes_read = 0;
838845
int data_read = 0;
839846

@@ -951,7 +958,7 @@ else if (apdu_size < contiguous_size) {
951958
*/
952959
private int incomingReadApdu (List<SocketBuffer> skbs)
953960
{
954-
System.out.println ("incomingReadApdu");
961+
LOG.debug ("incomingReadApdu");
955962
int contiguous_length = 0;
956963
int count = 0;
957964
SocketBuffer skb = peek (this.commitLead);
@@ -1081,9 +1088,7 @@ private void clearPacketState (SocketBuffer skb)
10811088
public void markLost (SequenceNumber sequence)
10821089
{
10831090
checkNotNull (sequence);
1084-
System.out.println ("markLost ( " +
1085-
"\"sequence\": " + sequence + "" +
1086-
" )");
1091+
LOG.debug ("markLost (\"sequence\": {})", sequence);
10871092
SocketBuffer skb = peek (sequence);
10881093
setPacketState (skb, PacketState.PKT_LOST_DATA_STATE);
10891094
}

src/main/java/hk/miru/javapgm/SocketBuffer.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public int getLength() {
9393
public void put (int len) {
9494
this._tail += len;
9595
this._len += len;
96-
checkArgument (this._tail > this._end);
96+
checkArgument (this._tail <= this._end);
9797
}
9898

9999
public void pull (int len) {
@@ -104,8 +104,8 @@ public void pull (int len) {
104104
public void reserve (int len) {
105105
this._data += len;
106106
this._tail += len;
107-
checkArgument (this._tail > this._end);
108-
checkArgument (this._data < this._head);
107+
checkArgument (this._tail <= this._end);
108+
checkArgument (this._data >= this._head);
109109
}
110110

111111
public Header getHeader() {

0 commit comments

Comments
 (0)