+def build_one_ds():
+ ds = DownloadStatus("storage_index", 1234)
+ now = time.time()
+
+ ds.add_segment_request(0, now)
+ # segnum, when, start,len, decodetime
+ ds.add_segment_delivery(0, now+1, 0, 100, 0.5)
+ ds.add_segment_request(1, now+2)
+ ds.add_segment_error(1, now+3)
+
+ e = ds.add_dyhb_sent("serverid_a", now)
+ e.finished([1,2], now+1)
+ e = ds.add_dyhb_sent("serverid_b", now+2) # left unfinished
+
+ e = ds.add_read_event(0, 120, now)
+ e.update(60, 0.5, 0.1) # bytes, decrypttime, pausetime
+ e.finished(now+1)
+ e = ds.add_read_event(120, 30, now+2) # left unfinished
+
+ e = ds.add_request_sent("serverid_a", 1, 100, 20, now)
+ e.finished(20, now+1)
+ e = ds.add_request_sent("serverid_a", 1, 120, 30, now+1) # left unfinished
+
+ # make sure that add_read_event() can come first too
+ ds1 = DownloadStatus("storage_index", 1234)
+ e = ds1.add_read_event(0, 120, now)
+ e.update(60, 0.5, 0.1) # bytes, decrypttime, pausetime
+ e.finished(now+1)
+
+ return ds
+