Remove JsonRpcRequestProcessor dependency
This commit is contained in:
		@@ -6,7 +6,7 @@ use crate::jsonrpc_core::*;
 | 
				
			|||||||
use crate::jsonrpc_macros::pubsub;
 | 
					use crate::jsonrpc_macros::pubsub;
 | 
				
			||||||
use crate::jsonrpc_pubsub::{PubSubHandler, Session, SubscriptionId};
 | 
					use crate::jsonrpc_pubsub::{PubSubHandler, Session, SubscriptionId};
 | 
				
			||||||
use crate::jsonrpc_ws_server::{RequestContext, Sender, ServerBuilder};
 | 
					use crate::jsonrpc_ws_server::{RequestContext, Sender, ServerBuilder};
 | 
				
			||||||
use crate::rpc::{JsonRpcRequestProcessor, RpcSignatureStatus};
 | 
					use crate::rpc::RpcSignatureStatus;
 | 
				
			||||||
use crate::service::Service;
 | 
					use crate::service::Service;
 | 
				
			||||||
use crate::status_deque::Status;
 | 
					use crate::status_deque::Status;
 | 
				
			||||||
use bs58;
 | 
					use bs58;
 | 
				
			||||||
@@ -41,7 +41,7 @@ impl Service for PubSubService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
impl PubSubService {
 | 
					impl PubSubService {
 | 
				
			||||||
    pub fn new(bank: &Arc<Bank>, pubsub_addr: SocketAddr) -> Self {
 | 
					    pub fn new(bank: &Arc<Bank>, pubsub_addr: SocketAddr) -> Self {
 | 
				
			||||||
        let rpc = RpcSolPubSubImpl::new(JsonRpcRequestProcessor::new(bank.clone()), bank.clone());
 | 
					        let rpc = RpcSolPubSubImpl::new(bank.clone());
 | 
				
			||||||
        let exit = Arc::new(AtomicBool::new(false));
 | 
					        let exit = Arc::new(AtomicBool::new(false));
 | 
				
			||||||
        let exit_ = exit.clone();
 | 
					        let exit_ = exit.clone();
 | 
				
			||||||
        let thread_hdl = Builder::new()
 | 
					        let thread_hdl = Builder::new()
 | 
				
			||||||
@@ -112,17 +112,15 @@ build_rpc_trait! {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
struct RpcSolPubSubImpl {
 | 
					struct RpcSolPubSubImpl {
 | 
				
			||||||
    uid: Arc<atomic::AtomicUsize>,
 | 
					    uid: Arc<atomic::AtomicUsize>,
 | 
				
			||||||
    request_processor: JsonRpcRequestProcessor,
 | 
					 | 
				
			||||||
    bank: Arc<Bank>,
 | 
					    bank: Arc<Bank>,
 | 
				
			||||||
    account_subscriptions: Arc<RwLock<HashMap<SubscriptionId, (Pubkey, Pubkey)>>>,
 | 
					    account_subscriptions: Arc<RwLock<HashMap<SubscriptionId, (Pubkey, Pubkey)>>>,
 | 
				
			||||||
    signature_subscriptions: Arc<RwLock<HashMap<SubscriptionId, (Pubkey, Signature)>>>,
 | 
					    signature_subscriptions: Arc<RwLock<HashMap<SubscriptionId, (Pubkey, Signature)>>>,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl RpcSolPubSubImpl {
 | 
					impl RpcSolPubSubImpl {
 | 
				
			||||||
    fn new(request_processor: JsonRpcRequestProcessor, bank: Arc<Bank>) -> Self {
 | 
					    fn new(bank: Arc<Bank>) -> Self {
 | 
				
			||||||
        RpcSolPubSubImpl {
 | 
					        RpcSolPubSubImpl {
 | 
				
			||||||
            uid: Default::default(),
 | 
					            uid: Default::default(),
 | 
				
			||||||
            request_processor,
 | 
					 | 
				
			||||||
            bank,
 | 
					            bank,
 | 
				
			||||||
            account_subscriptions: Default::default(),
 | 
					            account_subscriptions: Default::default(),
 | 
				
			||||||
            signature_subscriptions: Default::default(),
 | 
					            signature_subscriptions: Default::default(),
 | 
				
			||||||
@@ -210,7 +208,7 @@ impl RpcSolPubSub for RpcSolPubSubImpl {
 | 
				
			|||||||
            .unwrap()
 | 
					            .unwrap()
 | 
				
			||||||
            .insert(sub_id.clone(), (bank_sub_id, signature));
 | 
					            .insert(sub_id.clone(), (bank_sub_id, signature));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let status = self.request_processor.get_signature_status(signature);
 | 
					        let status = self.bank.get_signature_status(&signature);
 | 
				
			||||||
        if status.is_none() {
 | 
					        if status.is_none() {
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -287,10 +285,7 @@ mod tests {
 | 
				
			|||||||
        let session = Arc::new(Session::new(sender));
 | 
					        let session = Arc::new(Session::new(sender));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut io = PubSubHandler::default();
 | 
					        let mut io = PubSubHandler::default();
 | 
				
			||||||
        let rpc = RpcSolPubSubImpl::new(
 | 
					        let rpc = RpcSolPubSubImpl::new(arc_bank.clone());
 | 
				
			||||||
            JsonRpcRequestProcessor::new(arc_bank.clone()),
 | 
					 | 
				
			||||||
            arc_bank.clone(),
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        io.extend_with(rpc.to_delegate());
 | 
					        io.extend_with(rpc.to_delegate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Test signature subscription
 | 
					        // Test signature subscription
 | 
				
			||||||
@@ -363,10 +358,7 @@ mod tests {
 | 
				
			|||||||
        let session = Arc::new(Session::new(sender));
 | 
					        let session = Arc::new(Session::new(sender));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut io = PubSubHandler::default();
 | 
					        let mut io = PubSubHandler::default();
 | 
				
			||||||
        let rpc = RpcSolPubSubImpl::new(
 | 
					        let rpc = RpcSolPubSubImpl::new(arc_bank.clone());
 | 
				
			||||||
            JsonRpcRequestProcessor::new(arc_bank.clone()),
 | 
					 | 
				
			||||||
            arc_bank.clone(),
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        io.extend_with(rpc.to_delegate());
 | 
					        io.extend_with(rpc.to_delegate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let tx = Transaction::system_move(&alice.keypair(), bob_pubkey, 20, last_id, 0);
 | 
					        let tx = Transaction::system_move(&alice.keypair(), bob_pubkey, 20, last_id, 0);
 | 
				
			||||||
@@ -420,10 +412,7 @@ mod tests {
 | 
				
			|||||||
        let session = Arc::new(Session::new(sender));
 | 
					        let session = Arc::new(Session::new(sender));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut io = PubSubHandler::default();
 | 
					        let mut io = PubSubHandler::default();
 | 
				
			||||||
        let rpc = RpcSolPubSubImpl::new(
 | 
					        let rpc = RpcSolPubSubImpl::new(arc_bank.clone());
 | 
				
			||||||
            JsonRpcRequestProcessor::new(arc_bank.clone()),
 | 
					 | 
				
			||||||
            arc_bank.clone(),
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        io.extend_with(rpc.to_delegate());
 | 
					        io.extend_with(rpc.to_delegate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let req = format!(
 | 
					        let req = format!(
 | 
				
			||||||
@@ -601,10 +590,7 @@ mod tests {
 | 
				
			|||||||
        let session = Arc::new(Session::new(sender));
 | 
					        let session = Arc::new(Session::new(sender));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut io = PubSubHandler::default();
 | 
					        let mut io = PubSubHandler::default();
 | 
				
			||||||
        let rpc = RpcSolPubSubImpl::new(
 | 
					        let rpc = RpcSolPubSubImpl::new(arc_bank.clone());
 | 
				
			||||||
            JsonRpcRequestProcessor::new(arc_bank.clone()),
 | 
					 | 
				
			||||||
            arc_bank.clone(),
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        io.extend_with(rpc.to_delegate());
 | 
					        io.extend_with(rpc.to_delegate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user