static void runq() {
try {
Log.setThreadAnnotation("[outgoing smtp] ");
- int[] outgoing = Mailbox.root.slash("outgoing").list();
- Log.info(SMTP.Outgoing.class, "outgoing thread started; " + outgoing.length + " messages to send");
- for(int i=0; i<outgoing.length; i++) queue.append(Mailbox.root.slash("outgoing").get(outgoing[i]));
+ Mailbox outgoing = Mailbox.root.slash("outgoing");
+ Log.info(SMTP.Outgoing.class, "outgoing thread started; " + outgoing.count(Query.all()) + " messages to send");
+ for(Mailbox.Iterator it = outgoing.iterator(); it.cur() != null; it.next()) queue.append(it.cur());
while(true) {
int num = queue.size();
for(int i=0; i<num; i++) {