# # # patch "automate.cc" # from [1bdd4c34b344b1c92f80a64f08e97b6a15bb9a7b] # to [ee573f26aa839258423b024608db769f87f02483] # # patch "cmd_files.cc" # from [4011824d9e255a6045bfcabe318bf5e1face7053] # to [72458229d78da72f97c4f410daf9eefb47b1e33f] # # patch "cmd_merging.cc" # from [828529631c9bd6f1d24fafcae93ced4102dbb5c3] # to [736129e2ea5badc3861399bfe524265558dc1df0] # # patch "cmd_ws_commit.cc" # from [a58f8793fc0c9efff8699dd358922f6c7076f6d3] # to [359383aa97f748ce215b8a30ca7eb8a041056078] # # patch "diff_patch.cc" # from [06a1fcb53473c9cf684b41e162a3774f72668ac0] # to [9ec190aaff6eaa68423ace4bf4246c3ef0a13c0d] # # patch "key_store.cc" # from [866ba8f4d52db4fef939d0e88a6a3edc9cc4b771] # to [6a656c873482e9ef7920bc787134e825c7e57754] # # patch "netsync.cc" # from [69251cce14272cc7bf5ff0b27fcf4f8e6cc434a4] # to [980624824bf280f7704e4c004a06e6d96c86798c] # # patch "packet.cc" # from [9fc7baf9b1b6e5daf0f947f2548af6ad0eb1f7e7] # to [f1c1015d1d9b9d4ff8fc3af5d23a0980444cce47] # # patch "packet.hh" # from [286ff5bfdef623d41d6087db8271dd1f26d36ff1] # to [84f7fdaa2b1fab00d94e08f04e0c2449c415d9c6] # ============================================================ --- automate.cc 1bdd4c34b344b1c92f80a64f08e97b6a15bb9a7b +++ automate.cc ee573f26aa839258423b024608db769f87f02483 @@ -1736,8 +1736,7 @@ AUTOMATE(cert, N_("REVISION-ID NAME VALU make_simple_cert(rid.inner(), cert_name(idx(args, 1)()), cert_value(idx(args, 2)()), app, c); revision rc(c); - packet_db_writer dbw(app); - dbw.consume_revision_cert(rc); + app.db.put_revision_cert(rc); guard.commit(); } ============================================================ --- cmd_files.cc 4011824d9e255a6045bfcabe318bf5e1face7053 +++ cmd_files.cc 72458229d78da72f97c4f410daf9eefb47b1e33f @@ -13,7 +13,6 @@ #include "cmd.hh" #include "diff_patch.hh" #include "file_io.hh" -#include "packet.hh" #include "simplestring_xform.hh" #include "transforms.hh" @@ -35,8 +34,9 @@ CMD(fload, N_("debug"), "", N_("load fil calculate_ident (f_data, f_id); - packet_db_writer dbw(app); - dbw.consume_file_data(f_id, f_data); + transaction_guard guard(app.db); + app.db.put_file(f_id, f_data); + guard.commit(); } CMD(fmerge, N_("debug"), N_(" "), ============================================================ --- cmd_merging.cc 828529631c9bd6f1d24fafcae93ced4102dbb5c3 +++ cmd_merging.cc 736129e2ea5badc3861399bfe524265558dc1df0 @@ -22,6 +22,7 @@ #include "update.hh" #include "work.hh" #include "safe_map.hh" +#include "ui.hh" using std::cout; using std::make_pair; ============================================================ --- cmd_ws_commit.cc a58f8793fc0c9efff8699dd358922f6c7076f6d3 +++ cmd_ws_commit.cc 359383aa97f748ce215b8a30ca7eb8a041056078 @@ -19,6 +19,7 @@ #include "transforms.hh" #include "work.hh" #include "charset.hh" +#include "ui.hh" using std::cout; using std::make_pair; @@ -245,15 +246,15 @@ CMD(disapprove, N_("review"), N_("REVISI { transaction_guard guard(app.db); - packet_db_writer dbw(app); revision_id inv_id; revision_data rdat; write_revision(rev_inverse, rdat); calculate_ident(rdat, inv_id); - dbw.consume_revision_data(inv_id, rdat); + app.db.put_revision(inv_id, rdat); + packet_db_writer dbw(app); app.get_project().put_standard_certs_from_options(inv_id, app.opts.branchname, log_message, @@ -812,7 +813,6 @@ CMD(commit, N_("workspace"), N_("[PATH]. { transaction_guard guard(app.db); - packet_db_writer dbw(app); if (app.db.revision_exists(restricted_rev_id)) W(F("revision %s already in database") % restricted_rev_id); @@ -856,9 +856,9 @@ CMD(commit, N_("workspace"), N_("[PATH]. % path); delta del; diff(old_data.inner(), new_data, del); - dbw.consume_file_delta(old_content, - new_content, - file_delta(del)); + app.db.put_file_version(old_content, + new_content, + file_delta(del)); } else // If we don't err out here, our packet writer will @@ -884,15 +884,16 @@ CMD(commit, N_("workspace"), N_("[PATH]. N(tid == new_content.inner(), F("file '%s' modified during commit, aborting") % path); - dbw.consume_file_data(new_content, file_data(new_data)); + app.db.put_file(new_content, file_data(new_data)); } } revision_data rdat; write_revision(restricted_rev, rdat); - dbw.consume_revision_data(restricted_rev_id, rdat); + app.db.put_revision(restricted_rev_id, rdat); } + packet_db_writer dbw(app); app.get_project().put_standard_certs_from_options(restricted_rev_id, app.opts.branchname, log_message, ============================================================ --- diff_patch.cc 06a1fcb53473c9cf684b41e162a3774f72668ac0 +++ diff_patch.cc 9ec190aaff6eaa68423ace4bf4246c3ef0a13c0d @@ -22,7 +22,6 @@ #include "interner.hh" #include "lcs.hh" #include "roster.hh" -#include "packet.hh" #include "safe_map.hh" #include "sanity.hh" #include "transforms.hh" @@ -510,9 +509,9 @@ content_merge_database_adaptor::record_m diff(left_data.inner(), merged_data.inner(), left_delta); diff(left_data.inner(), merged_data.inner(), right_delta); - packet_db_writer dbw(app); - dbw.consume_file_delta (left_ident, merged_ident, file_delta(left_delta)); - dbw.consume_file_delta (right_ident, merged_ident, file_delta(right_delta)); + + app.db.put_file_version(left_ident, merged_ident, file_delta(left_delta)); + app.db.put_file_version(right_ident, merged_ident, file_delta(right_delta)); guard.commit(); } ============================================================ --- key_store.cc 866ba8f4d52db4fef939d0e88a6a3edc9cc4b771 +++ key_store.cc 6a656c873482e9ef7920bc787134e825c7e57754 @@ -5,6 +5,7 @@ #include "packet.hh" #include "keys.hh" #include "globish.hh" +#include "app_state.hh" using std::make_pair; using std::istringstream; ============================================================ --- netsync.cc 69251cce14272cc7bf5ff0b27fcf4f8e6cc434a4 +++ netsync.cc 980624824bf280f7704e4c004a06e6d96c86798c @@ -33,7 +33,6 @@ #include "netio.hh" #include "netsync.hh" #include "numeric_vocab.hh" -#include "packet.hh" #include "refiner.hh" #include "revision.hh" #include "sanity.hh" @@ -320,7 +319,6 @@ session: vector written_certs; id saved_nonce; - packet_db_writer dbw; enum { @@ -379,10 +377,6 @@ session: virtual ~session(); - void rev_written_callback(revision_id rid); - void key_written_callback(rsa_keypair_id kid); - void cert_written_callback(cert const & c); - id mk_nonce(); void mark_recent_io(); @@ -524,7 +518,6 @@ session::session(protocol_role role, keys_in(0), keys_out(0), session_id(++session_count), saved_nonce(""), - dbw(app), protocol_state(working_state), encountered_error(false), error_code(no_transfer), @@ -534,14 +527,7 @@ session::session(protocol_role role, cert_refiner(cert_item, voice, *this), rev_refiner(revision_item, voice, *this), rev_enumerator(*this, app) -{ - dbw.set_on_revision_written(boost::bind(&session::rev_written_callback, - this, _1)); - dbw.set_on_cert_written(boost::bind(&session::cert_written_callback, - this, _1)); - dbw.set_on_pubkey_written(boost::bind(&session::key_written_callback, - this, _1)); -} +{} session::~session() { @@ -698,21 +684,6 @@ session::note_cert(hexenc const & c) } -void session::rev_written_callback(revision_id rid) -{ - written_revisions.push_back(rid); -} - -void session::key_written_callback(rsa_keypair_id kid) -{ - written_keys.push_back(kid); -} - -void session::cert_written_callback(cert const & c) -{ - written_certs.push_back(c); -} - id session::mk_nonce() { @@ -1951,7 +1922,8 @@ session::process_data_cmd(netcmd_item_ty throw bad_decode(F("hash check failed for public key '%s' (%s);" " wanted '%s' got '%s'") % hitem % keyid % hitem % tmp); - this->dbw.consume_public_key(keyid, pub); + if (app.db.put_key(keyid, pub)) + written_keys.push_back(keyid); } break; @@ -1963,21 +1935,23 @@ session::process_data_cmd(netcmd_item_ty cert_hash_code(c, tmp); if (! (tmp == hitem)) throw bad_decode(F("hash check failed for revision cert '%s'") % hitem); - this->dbw.consume_revision_cert(revision(c)); + if (app.db.put_revision_cert(revision(c))) + written_certs.push_back(c); } break; case revision_item: { L(FL("received revision '%s'") % hitem); - this->dbw.consume_revision_data(revision_id(hitem), revision_data(dat)); + if (app.db.put_revision(revision_id(hitem), revision_data(dat))) + written_revisions.push_back(revision_id(hitem)); } break; case file_item: { L(FL("received file '%s'") % hitem); - this->dbw.consume_file_data(file_id(hitem), file_data(dat)); + app.db.put_file(file_id(hitem), file_data(dat)); } break; } @@ -2005,9 +1979,7 @@ session::process_delta_cmd(netcmd_item_t case file_item: { file_id src_file(hbase), dst_file(hident); - this->dbw.consume_file_delta(src_file, - dst_file, - file_delta(del)); + app.db.put_file_version(src_file, dst_file, file_delta(del)); } break; ============================================================ --- packet.cc 9fc7baf9b1b6e5daf0f947f2548af6ad0eb1f7e7 +++ packet.cc f1c1015d1d9b9d4ff8fc3af5d23a0980444cce47 @@ -36,35 +36,6 @@ using boost::shared_ptr; using boost::regex; using boost::shared_ptr; -void -packet_consumer::set_on_revision_written(boost::function1 const & x) -{ - on_revision_written=x; -} - -void -packet_consumer::set_on_cert_written(boost::function1 const & x) -{ - on_cert_written=x; -} - -void -packet_consumer::set_on_pubkey_written(boost::function1 - const & x) -{ - on_pubkey_written=x; -} - -void -packet_consumer::set_on_keypair_written(boost::function1 - const & x) -{ - on_keypair_written=x; -} - - packet_db_writer::packet_db_writer(app_state & app) : app(app) {} @@ -97,9 +68,7 @@ packet_db_writer::consume_revision_data( { MM(ident); transaction_guard guard(app.db); - if (app.db.put_revision(ident, dat)) - if (on_revision_written) - on_revision_written(ident); + app.db.put_revision(ident, dat); guard.commit(); } @@ -107,9 +76,7 @@ packet_db_writer::consume_revision_cert( packet_db_writer::consume_revision_cert(revision const & t) { transaction_guard guard(app.db); - if (app.db.put_revision_cert(t)) - if (on_cert_written) - on_cert_written(t.inner()); + app.db.put_revision_cert(t); guard.commit(); } @@ -119,9 +86,7 @@ packet_db_writer::consume_public_key(rsa base64< rsa_pub_key > const & k) { transaction_guard guard(app.db); - if (app.db.put_key(ident, k)) - if (on_pubkey_written) - on_pubkey_written(ident); + app.db.put_key(ident, k); guard.commit(); } @@ -130,9 +95,7 @@ packet_db_writer::consume_key_pair(rsa_k keypair const & kp) { transaction_guard guard(app.db); - if (app.keys.put_key_pair(ident, kp)) - if (on_keypair_written) - on_keypair_written(ident); + app.keys.put_key_pair(ident, kp); guard.commit(); } ============================================================ --- packet.hh 286ff5bfdef623d41d6087db8271dd1f26d36ff1 +++ packet.hh 84f7fdaa2b1fab00d94e08f04e0c2449c415d9c6 @@ -11,14 +11,11 @@ // PURPOSE. #include -#include +#include "vocab.hh" -#include +class app_state; +struct cert; -#include "app_state.hh" -#include "ui.hh" -#include "vocab.hh" - // the idea here is that monotone can produce and consume "packet streams", // where each packet is *informative* rather than transactional. that is to // say, they contain no information which needs to be replied to or processed @@ -40,22 +37,7 @@ struct packet_consumer struct packet_consumer { -protected: - boost::function1 on_revision_written; - boost::function1 on_cert_written; - boost::function1 on_pubkey_written; - boost::function1 on_keypair_written; public: - - virtual void set_on_revision_written(boost::function1 - const & x); - virtual void set_on_cert_written(boost::function1 - const & x); - virtual void set_on_pubkey_written(boost::function1 - const & x); - virtual void set_on_keypair_written(boost::function1 - const & x); - virtual ~packet_consumer() {} virtual void consume_file_data(file_id const & ident, file_data const & dat) = 0;