* delivery fails while the delay was active, it will not change the delay
* or change the duration of any subsequent delay.
* If, however, it succeeds, it will cancel the delay.
- *
* The queue maintains 3 collections of files to deliver: A todoList of
* files that will be attempted, a working set of files that are being
* attempted, and a retry set of files that were attempted and failed.
private File dir;
private List<DeliveryTask> todoList = new ArrayList<>();
+ /**
+ * Create a delivery queue for a given destination info.
+ */
+ DeliveryQueue(DeliveryQueueHelper deliveryQueueHelper, DestInfo destinationInfo) {
+ this.deliveryQueueHelper = deliveryQueueHelper;
+ this.destinationInfo = destinationInfo;
+ dir = new File(destinationInfo.getSpool());
+ dir.mkdirs();
+ }
+
/**
* Try to cancel a delivery task.
*
todoindex = 0;
todoList = new ArrayList<>();
String[] files = dir.list();
- Arrays.sort(files);
- scanForNextTask(files);
+ if (files != null) {
+ Arrays.sort(files);
+ scanForNextTask(files);
+ }
retry = new HashMap<>();
}
- DeliveryTask dt = getDeliveryTask(mindate);
- if (dt != null) {
- return dt;
- }
- return null;
-
+ return getDeliveryTask(mindate);
}
}
- /**
- * Create a delivery queue for a given destination info.
- */
- DeliveryQueue(DeliveryQueueHelper deliveryQueueHelper, DestInfo destinationInfo) {
- this.deliveryQueueHelper = deliveryQueueHelper;
- this.destinationInfo = destinationInfo;
- dir = new File(destinationInfo.getSpool());
- dir.mkdirs();
- }
-
/**
* Update the destination info for this delivery queue.
*/
}
return fname2;
}
-}
+}
\ No newline at end of file