public static void toCRAWDAD(LinkTrace links, OutputStream out, double timeMul) throws IOException { StatefulReader<LinkEvent, Link> linkReader = links.getReader(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out)); Map<Link, Long> activeContacts = new AdjacencyMap.Links<Long>(); linkReader.seek(links.minTime()); for (Link l : linkReader.referenceState()) activeContacts.put(l, links.minTime()); while (linkReader.hasNext()) { for (LinkEvent lev : linkReader.next()) { Link l = lev.link(); if (lev.isUp()) { activeContacts.put(l, linkReader.time()); } else { double b = activeContacts.get(l) * timeMul; double e = linkReader.time() * timeMul; activeContacts.remove(l); bw.write(l.id1() + "\t" + l.id2() + "\t" + b + "\t" + e + "\n"); } } } linkReader.close(); bw.close(); }