From dd80b5e50d5322bcad08dbb83fbe9bdce6574ff3 Mon Sep 17 00:00:00 2001 From: Aditi Srinivasan Date: Wed, 4 Dec 2024 20:40:33 -0500 Subject: [PATCH] rename SnapchainService to HubService (#122) The service name needs to be the same as it is in the existing hubs for compatibility. --- src/bin/submit_message.rs | 6 ++---- src/consensus/proposer.rs | 6 +++--- src/main.rs | 14 +++++--------- src/network/server.rs | 8 ++++---- src/network/server_tests.rs | 18 +++++------------- src/perf/perftest.rs | 4 ++-- src/proto/rpc.proto | 2 +- src/utils/cli.rs | 6 +++--- tests/consensus_test.rs | 8 ++++---- 9 files changed, 29 insertions(+), 43 deletions(-) diff --git a/src/bin/submit_message.rs b/src/bin/submit_message.rs index 62bbac0f..93a82dc7 100644 --- a/src/bin/submit_message.rs +++ b/src/bin/submit_message.rs @@ -2,9 +2,7 @@ use clap::Parser; use ed25519_dalek::{SecretKey, SigningKey}; use hex::FromHex; use snapchain::utils::cli::compose_message; -use snapchain::{ - proto::rpc::snapchain_service_client::SnapchainServiceClient, utils::cli::send_message, -}; +use snapchain::{proto::rpc::hub_service_client::HubServiceClient, utils::cli::send_message}; #[derive(Parser)] struct Cli { @@ -22,7 +20,7 @@ async fn main() { .unwrap(), ); - let mut client = SnapchainServiceClient::connect(args.addr).await.unwrap(); + let mut client = HubServiceClient::connect(args.addr).await.unwrap(); let resp = send_message( &mut client, diff --git a/src/consensus/proposer.rs b/src/consensus/proposer.rs index 3cda5671..52ba2535 100644 --- a/src/consensus/proposer.rs +++ b/src/consensus/proposer.rs @@ -1,7 +1,7 @@ use crate::core::types::{ proto, Address, Height, ShardHash, ShardId, SnapchainShard, SnapchainValidator, }; -use crate::proto::rpc::snapchain_service_client::SnapchainServiceClient; +use crate::proto::rpc::hub_service_client::HubServiceClient; use crate::proto::rpc::{BlocksRequest, ShardChunksRequest}; use crate::proto::snapchain::{Block, BlockHeader, FullProposal, ShardChunk, ShardHeader}; use crate::storage::store::engine::{BlockEngine, ShardEngine, ShardStateChange}; @@ -177,7 +177,7 @@ impl Proposer for ShardProposer { None => return Ok(()), Some(rpc_address) => { let destination_addr = format!("http://{}", rpc_address.clone()); - let mut rpc_client = SnapchainServiceClient::connect(destination_addr).await?; + let mut rpc_client = HubServiceClient::connect(destination_addr).await?; let request = Request::new(ShardChunksRequest { shard_id: self.shard_id.shard_id(), start_block_number: prev_block_number + 1, @@ -391,7 +391,7 @@ impl Proposer for BlockProposer { Some(rpc_address) => { info!({ rpc_address }, "Starting block sync against a validator"); let destination_addr = format!("http://{}", rpc_address.clone()); - let mut rpc_client = SnapchainServiceClient::connect(destination_addr).await?; + let mut rpc_client = HubServiceClient::connect(destination_addr).await?; let request = Request::new(BlocksRequest { shard_id: self.shard_id.shard_id(), start_block_number: prev_block_number + 1, diff --git a/src/main.rs b/src/main.rs index ad0b3baa..a5f019ea 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,10 +18,10 @@ use snapchain::core::types::proto; use snapchain::network::admin_server::{DbManager, MyAdminService}; use snapchain::network::gossip::GossipEvent; use snapchain::network::gossip::SnapchainGossip; -use snapchain::network::server::MySnapchainService; +use snapchain::network::server::MyHubService; use snapchain::node::snapchain_node::SnapchainNode; use snapchain::proto::admin_rpc::admin_service_server::AdminServiceServer; -use snapchain::proto::rpc::snapchain_service_server::SnapchainServiceServer; +use snapchain::proto::rpc::hub_service_server::HubServiceServer; use snapchain::storage::db::RocksDB; use snapchain::utils::statsd_wrapper::StatsdClientWrapper; @@ -85,11 +85,7 @@ async fn main() -> Result<(), Box> { db.open().unwrap(); let block_store = BlockStore::new(db); - info!( - addr = addr, - grpc_addr = grpc_addr, - "SnapchainService listening", - ); + info!(addr = addr, grpc_addr = grpc_addr, "HubService listening",); let keypair = app_config.consensus.keypair().clone(); @@ -164,7 +160,7 @@ async fn main() -> Result<(), Box> { let rpc_block_store = block_store.clone(); tokio::spawn(async move { - let service = MySnapchainService::new( + let service = MyHubService::new( rpc_block_store, rpc_shard_stores, rpc_shard_senders, @@ -172,7 +168,7 @@ async fn main() -> Result<(), Box> { ); let resp = Server::builder() - .add_service(SnapchainServiceServer::new(service)) + .add_service(HubServiceServer::new(service)) .add_service(AdminServiceServer::new(admin_service)) .serve(grpc_socket_addr) .await; diff --git a/src/network/server.rs b/src/network/server.rs index 6643f276..8bce7fc4 100644 --- a/src/network/server.rs +++ b/src/network/server.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use crate::core::error::HubError; use crate::proto::hub_event::HubEvent; use crate::proto::msg as message; -use crate::proto::rpc::snapchain_service_server::SnapchainService; +use crate::proto::rpc::hub_service_server::HubService; use crate::proto::rpc::{BlocksRequest, ShardChunksRequest, ShardChunksResponse, SubscribeRequest}; use crate::proto::snapchain::Block; use crate::storage::db::PageOptions; @@ -17,7 +17,7 @@ use tokio_stream::wrappers::ReceiverStream; use tonic::{Request, Response, Status}; use tracing::info; -pub struct MySnapchainService { +pub struct MyHubService { block_store: BlockStore, shard_stores: HashMap, shard_senders: HashMap, @@ -25,7 +25,7 @@ pub struct MySnapchainService { statsd_client: StatsdClientWrapper, } -impl MySnapchainService { +impl MyHubService { pub fn new( block_store: BlockStore, shard_stores: HashMap, @@ -46,7 +46,7 @@ impl MySnapchainService { } #[tonic::async_trait] -impl SnapchainService for MySnapchainService { +impl HubService for MyHubService { async fn submit_message( &self, request: Request, diff --git a/src/network/server_tests.rs b/src/network/server_tests.rs index 9b8be133..e7b9efaf 100644 --- a/src/network/server_tests.rs +++ b/src/network/server_tests.rs @@ -4,9 +4,9 @@ mod tests { use std::sync::Arc; use std::time::Duration; - use crate::network::server::MySnapchainService; + use crate::network::server::MyHubService; use crate::proto::hub_event::{HubEvent, HubEventType}; - use crate::proto::rpc::snapchain_service_server::SnapchainService; + use crate::proto::rpc::hub_service_server::HubService; use crate::proto::rpc::SubscribeRequest; use crate::storage::db::{self, RocksDB, RocksDbTransactionBatch}; use crate::storage::store::engine::Senders; @@ -19,11 +19,7 @@ mod tests { use tokio::sync::{broadcast, mpsc}; use tonic::Request; - async fn subscribe_and_listen( - service: &MySnapchainService, - shard_id: u32, - num_events_expected: u64, - ) { + async fn subscribe_and_listen(service: &MyHubService, shard_id: u32, num_events_expected: u64) { let mut listener = service .subscribe(Request::new(SubscribeRequest { event_types: vec![HubEventType::MergeMessage as i32], @@ -86,11 +82,7 @@ mod tests { db } - fn make_server() -> ( - HashMap, - HashMap, - MySnapchainService, - ) { + fn make_server() -> (HashMap, HashMap, MyHubService) { let statsd_client = StatsdClientWrapper::new( cadence::StatsdClient::builder("", cadence::NopMetricSink {}).build(), true, @@ -120,7 +112,7 @@ mod tests { ( stores.clone(), senders.clone(), - MySnapchainService::new( + MyHubService::new( BlockStore::new(make_db("blocks.db")), stores, senders, diff --git a/src/perf/perftest.rs b/src/perf/perftest.rs index 5bc42db1..5706ea84 100644 --- a/src/perf/perftest.rs +++ b/src/perf/perftest.rs @@ -1,5 +1,5 @@ use crate::proto::onchain_event; -use crate::proto::rpc::snapchain_service_client::SnapchainServiceClient; +use crate::proto::rpc::hub_service_client::HubServiceClient; use crate::proto::snapchain::Block; use crate::storage::store::test_helper; use crate::utils::cli::{compose_message, follow_blocks, send_message}; @@ -96,7 +96,7 @@ fn start_submit_messages( let mut submit_message_timer = time::interval(config.submit_message.interval); println!("connecting to {}", &rpc_addr); - let mut client = match SnapchainServiceClient::connect(rpc_addr.clone()).await { + let mut client = match HubServiceClient::connect(rpc_addr.clone()).await { Ok(client) => client, Err(e) => { panic!("Error connecting to {}: {}", &rpc_addr, e); diff --git a/src/proto/rpc.proto b/src/proto/rpc.proto index 5698e213..4bd63b24 100644 --- a/src/proto/rpc.proto +++ b/src/proto/rpc.proto @@ -29,7 +29,7 @@ message SubscribeRequest { optional uint32 shard_index = 5; } -service SnapchainService { +service HubService { rpc SubmitMessage(msg.Message) returns (msg.Message); rpc GetBlocks(BlocksRequest) returns (stream snapchain.Block); rpc GetShardChunks(ShardChunksRequest) returns (ShardChunksResponse); diff --git a/src/utils/cli.rs b/src/utils/cli.rs index 64f9e609..8c6bf907 100644 --- a/src/utils/cli.rs +++ b/src/utils/cli.rs @@ -1,7 +1,7 @@ use crate::proto::admin_rpc::admin_service_client::AdminServiceClient; use crate::proto::msg as message; use crate::proto::onchain_event::OnChainEvent; -use crate::proto::rpc::snapchain_service_client::SnapchainServiceClient; +use crate::proto::rpc::hub_service_client::HubServiceClient; use crate::proto::{rpc, snapchain::Block}; use crate::utils::factory::messages_factory; use ed25519_dalek::SigningKey; @@ -17,7 +17,7 @@ const FETCH_SIZE: u64 = 100; // compose_message is a proof-of-concept script, is not guaranteed to be correct, // and clearly needs a lot of work. Use at your own risk. pub async fn send_message( - client: &mut SnapchainServiceClient, + client: &mut HubServiceClient, msg: &message::Message, ) -> Result> { let request = tonic::Request::new(msg.clone()); @@ -52,7 +52,7 @@ pub async fn follow_blocks( addr: String, block_tx: mpsc::Sender, ) -> Result<(), Box> { - let mut client = rpc::snapchain_service_client::SnapchainServiceClient::connect(addr).await?; + let mut client = rpc::hub_service_client::HubServiceClient::connect(addr).await?; let mut i = 1; diff --git a/tests/consensus_test.rs b/tests/consensus_test.rs index a8927d40..a471dfd5 100644 --- a/tests/consensus_test.rs +++ b/tests/consensus_test.rs @@ -4,9 +4,9 @@ use std::sync::Arc; use hex; use libp2p::identity::ed25519::Keypair; -use snapchain::network::server::MySnapchainService; +use snapchain::network::server::MyHubService; use snapchain::node::snapchain_node::SnapchainNode; -use snapchain::proto::rpc::snapchain_service_server::SnapchainServiceServer; +use snapchain::proto::rpc::hub_service_server::HubServiceServer; use snapchain::proto::snapchain::Block; use snapchain::storage::db::{PageOptions, RocksDB}; use snapchain::storage::store::BlockStore; @@ -110,7 +110,7 @@ impl NodeForTest { let grpc_shard_stores = node.shard_stores.clone(); let grpc_shard_senders = node.shard_senders.clone(); tokio::spawn(async move { - let service = MySnapchainService::new( + let service = MyHubService::new( grpc_block_store, grpc_shard_stores, grpc_shard_senders, @@ -119,7 +119,7 @@ impl NodeForTest { let grpc_socket_addr: SocketAddr = addr.parse().unwrap(); let resp = Server::builder() - .add_service(SnapchainServiceServer::new(service)) + .add_service(HubServiceServer::new(service)) .serve(grpc_socket_addr) .await;