# # # patch "ChangeLog" # from [41d80f07d947ff6ee022c089ee0e9b12981ba8a3] # to [220f842017a358238a2eae8c20a9c11793d497b4] # # patch "commands.cc" # from [ffda8a186503943a14239e5193698d3c57a94c01] # to [12a0d54b9daa25e217e89859b73c180e8a8e0b60] # # patch "netsync.cc" # from [2ac0562902b0f3554e1ce04fd9d3d62ec4576a0e] # to [d4aa0f4e7fee2620b153f98a7e513232fca8403f] # # patch "refiner.cc" # from [e2e2a951c54476c717d83d4429647733f46b6aeb] # to [baa7581b2a14e8f76c65e90aa682bd54a44cb292] # ============================================================ --- ChangeLog 41d80f07d947ff6ee022c089ee0e9b12981ba8a3 +++ ChangeLog 220f842017a358238a2eae8c20a9c11793d497b4 @@ -1,3 +1,12 @@ +2006-03-05 Timothy Brownawell + + * commands.cc (db set_epoch): N() on the epoch size, so we don't I() + on it in database.cc . + * netsync.cc (maybe_note_epochs_finished): If we're in source_role, + epochs can be finished even if the refiner says we still have some + to receive. + * refiner.cc (begin_refinement): Add logging. + 2006-03-02 Emile Snyder add --unknown, when new files exist in new directories, would try ============================================================ --- commands.cc ffda8a186503943a14239e5193698d3c57a94c01 +++ commands.cc 12a0d54b9daa25e217e89859b73c180e8a8e0b60 @@ -2244,8 +2244,12 @@ else if (args.size() == 3) { if (idx(args, 0)() == "set_epoch") - app.db.set_epoch(cert_value(idx(args, 1)()), - epoch_data(idx(args,2)())); + { + epoch_data ed(idx(args,2)()); + N(ed.inner()().size() == constants::epochlen, + F("The epoch must be %s characters") % constants::epochlen); + app.db.set_epoch(cert_value(idx(args, 1)()), ed); + } else throw usage(name); } ============================================================ --- netsync.cc 2ac0562902b0f3554e1ce04fd9d3d62ec4576a0e +++ netsync.cc d4aa0f4e7fee2620b153f98a7e513232fca8403f @@ -783,7 +783,8 @@ session::maybe_note_epochs_finished() { // Maybe there are outstanding epoch requests. - if (!epoch_refiner.items_to_receive == 0) + // These only matter if we're in sink or source-and-sink mode. + if (!(epoch_refiner.items_to_receive == 0) && !(role == source_role)) return; // And maybe we haven't even finished the refinement. ============================================================ --- refiner.cc e2e2a951c54476c717d83d4429647733f46b6aeb +++ refiner.cc baa7581b2a14e8f76c65e90aa682bd54a44cb292 @@ -167,6 +167,9 @@ cb.queue_refine_cmd(refinement_query, *root); ++queries_in_flight; sent_initial_query = true; + string typestr; + netcmd_item_type_to_string(type, typestr); + L(FL("Beginning %s refinement.") % typestr); } void