Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					4892eb4e1a | ||
| 
						 | 
					2d930052dc | ||
| 
						 | 
					70c9ca061f | ||
| 
						 | 
					e4aecd9320 | ||
| 
						 | 
					1dd6dc3709 | 
							
								
								
									
										21
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										21
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -468,6 +468,26 @@ version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b0017894339f586ccb943b01b9555de56770c11cda818e7e3d8bd93f4ed7f46e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bytemuck"
 | 
			
		||||
version = "1.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck_derive",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bytemuck_derive"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2 1.0.24",
 | 
			
		||||
 "quote 1.0.9",
 | 
			
		||||
 "syn 1.0.60",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "byteorder"
 | 
			
		||||
version = "1.3.4"
 | 
			
		||||
@@ -5101,6 +5121,7 @@ dependencies = [
 | 
			
		||||
 "borsh-derive",
 | 
			
		||||
 "bs58",
 | 
			
		||||
 "bv",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "curve25519-dalek 2.1.0",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "itertools 0.9.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -75,9 +75,9 @@ fn broadcast_shreds_bench(bencher: &mut Bencher) {
 | 
			
		||||
            &cluster_nodes_cache,
 | 
			
		||||
            &last_datapoint,
 | 
			
		||||
            &mut TransmitShredsStats::default(),
 | 
			
		||||
            &SocketAddrSpace::Unspecified,
 | 
			
		||||
            &cluster_info,
 | 
			
		||||
            &bank_forks,
 | 
			
		||||
            &SocketAddrSpace::Unspecified,
 | 
			
		||||
        )
 | 
			
		||||
        .unwrap();
 | 
			
		||||
    });
 | 
			
		||||
 
 | 
			
		||||
@@ -22,8 +22,10 @@ use {
 | 
			
		||||
    solana_metrics::{inc_new_counter_error, inc_new_counter_info},
 | 
			
		||||
    solana_poh::poh_recorder::WorkingBankEntry,
 | 
			
		||||
    solana_runtime::{bank::Bank, bank_forks::BankForks},
 | 
			
		||||
    solana_sdk::timing::{timestamp, AtomicInterval},
 | 
			
		||||
    solana_sdk::{clock::Slot, pubkey::Pubkey},
 | 
			
		||||
    solana_sdk::{
 | 
			
		||||
        timing::{timestamp, AtomicInterval},
 | 
			
		||||
        {clock::Slot, pubkey::Pubkey},
 | 
			
		||||
    },
 | 
			
		||||
    solana_streamer::{
 | 
			
		||||
        sendmmsg::{batch_send, SendPktsError},
 | 
			
		||||
        socket::SocketAddrSpace,
 | 
			
		||||
@@ -31,9 +33,11 @@ use {
 | 
			
		||||
    std::{
 | 
			
		||||
        collections::HashMap,
 | 
			
		||||
        net::UdpSocket,
 | 
			
		||||
        sync::atomic::{AtomicBool, Ordering},
 | 
			
		||||
        sync::mpsc::{channel, Receiver, RecvError, RecvTimeoutError, Sender},
 | 
			
		||||
        sync::{Arc, Mutex, RwLock},
 | 
			
		||||
        sync::{
 | 
			
		||||
            atomic::{AtomicBool, Ordering},
 | 
			
		||||
            mpsc::{channel, Receiver, RecvError, RecvTimeoutError, Sender},
 | 
			
		||||
            Arc, Mutex, RwLock,
 | 
			
		||||
        },
 | 
			
		||||
        thread::{self, Builder, JoinHandle},
 | 
			
		||||
        time::{Duration, Instant},
 | 
			
		||||
    },
 | 
			
		||||
@@ -399,9 +403,9 @@ pub fn broadcast_shreds(
 | 
			
		||||
    cluster_nodes_cache: &ClusterNodesCache<BroadcastStage>,
 | 
			
		||||
    last_datapoint_submit: &Arc<AtomicInterval>,
 | 
			
		||||
    transmit_stats: &mut TransmitShredsStats,
 | 
			
		||||
    socket_addr_space: &SocketAddrSpace,
 | 
			
		||||
    cluster_info: &ClusterInfo,
 | 
			
		||||
    bank_forks: &Arc<RwLock<BankForks>>,
 | 
			
		||||
    socket_addr_space: &SocketAddrSpace,
 | 
			
		||||
) -> Result<()> {
 | 
			
		||||
    let mut result = Ok(());
 | 
			
		||||
    let mut shred_select = Measure::start("shred_select");
 | 
			
		||||
 
 | 
			
		||||
@@ -145,9 +145,9 @@ impl BroadcastRun for FailEntryVerificationBroadcastRun {
 | 
			
		||||
            &self.cluster_nodes_cache,
 | 
			
		||||
            &Arc::new(AtomicInterval::default()),
 | 
			
		||||
            &mut TransmitShredsStats::default(),
 | 
			
		||||
            cluster_info.socket_addr_space(),
 | 
			
		||||
            cluster_info,
 | 
			
		||||
            bank_forks,
 | 
			
		||||
            cluster_info.socket_addr_space(),
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
    fn record(
 | 
			
		||||
 
 | 
			
		||||
@@ -362,9 +362,9 @@ impl StandardBroadcastRun {
 | 
			
		||||
            &self.cluster_nodes_cache,
 | 
			
		||||
            &self.last_datapoint_submit,
 | 
			
		||||
            &mut transmit_stats,
 | 
			
		||||
            cluster_info.socket_addr_space(),
 | 
			
		||||
            cluster_info,
 | 
			
		||||
            bank_forks,
 | 
			
		||||
            cluster_info.socket_addr_space(),
 | 
			
		||||
        )?;
 | 
			
		||||
        transmit_time.stop();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								programs/bpf/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										21
									
								
								programs/bpf/Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -294,6 +294,26 @@ version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bytemuck"
 | 
			
		||||
version = "1.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck_derive",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bytemuck_derive"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2 1.0.24",
 | 
			
		||||
 "quote 1.0.6",
 | 
			
		||||
 "syn 1.0.67",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "byteorder"
 | 
			
		||||
version = "0.5.3"
 | 
			
		||||
@@ -3283,6 +3303,7 @@ dependencies = [
 | 
			
		||||
 "borsh-derive",
 | 
			
		||||
 "bs58",
 | 
			
		||||
 "bv",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "curve25519-dalek 2.1.0",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "itertools 0.9.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -213,6 +213,12 @@ impl RecentItems {
 | 
			
		||||
                .checked_sub(item.len())
 | 
			
		||||
                .expect("total bytes underflow");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        datapoint_info!(
 | 
			
		||||
            "rpc_subscriptions_recent_items",
 | 
			
		||||
            ("num", self.queue.len(), i64),
 | 
			
		||||
            ("total_bytes", self.total_bytes, i64),
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ bincode = "1.3.1"
 | 
			
		||||
borsh = "0.9.0"
 | 
			
		||||
borsh-derive = "0.9.0"
 | 
			
		||||
bs58 = "0.3.1"
 | 
			
		||||
bytemuck = { version = "1.7.2", features = ["derive"] }
 | 
			
		||||
bv = { version = "0.11.1", features = ["serde"] }
 | 
			
		||||
hex = "0.4.2"
 | 
			
		||||
itertools =  "0.9.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,16 @@
 | 
			
		||||
#![allow(clippy::integer_arithmetic)]
 | 
			
		||||
use crate::{decode_error::DecodeError, hash::hashv};
 | 
			
		||||
 | 
			
		||||
use borsh::{BorshDeserialize, BorshSchema, BorshSerialize};
 | 
			
		||||
use num_derive::{FromPrimitive, ToPrimitive};
 | 
			
		||||
use std::{
 | 
			
		||||
use {
 | 
			
		||||
    crate::{decode_error::DecodeError, hash::hashv},
 | 
			
		||||
    borsh::{BorshDeserialize, BorshSchema, BorshSerialize},
 | 
			
		||||
    bytemuck::{Pod, Zeroable},
 | 
			
		||||
    num_derive::{FromPrimitive, ToPrimitive},
 | 
			
		||||
    std::{
 | 
			
		||||
        convert::{Infallible, TryFrom},
 | 
			
		||||
        fmt, mem,
 | 
			
		||||
        str::FromStr,
 | 
			
		||||
    },
 | 
			
		||||
    thiserror::Error,
 | 
			
		||||
};
 | 
			
		||||
use thiserror::Error;
 | 
			
		||||
 | 
			
		||||
/// Number of bytes in a pubkey
 | 
			
		||||
pub const PUBKEY_BYTES: usize = 32;
 | 
			
		||||
@@ -48,20 +50,22 @@ impl From<u64> for PubkeyError {
 | 
			
		||||
 | 
			
		||||
#[repr(transparent)]
 | 
			
		||||
#[derive(
 | 
			
		||||
    Serialize,
 | 
			
		||||
    Deserialize,
 | 
			
		||||
    BorshSerialize,
 | 
			
		||||
    AbiExample,
 | 
			
		||||
    BorshDeserialize,
 | 
			
		||||
    BorshSchema,
 | 
			
		||||
    BorshSerialize,
 | 
			
		||||
    Clone,
 | 
			
		||||
    Copy,
 | 
			
		||||
    Default,
 | 
			
		||||
    Deserialize,
 | 
			
		||||
    Eq,
 | 
			
		||||
    PartialEq,
 | 
			
		||||
    Ord,
 | 
			
		||||
    PartialOrd,
 | 
			
		||||
    Hash,
 | 
			
		||||
    AbiExample,
 | 
			
		||||
    Ord,
 | 
			
		||||
    PartialEq,
 | 
			
		||||
    PartialOrd,
 | 
			
		||||
    Pod,
 | 
			
		||||
    Serialize,
 | 
			
		||||
    Zeroable,
 | 
			
		||||
)]
 | 
			
		||||
pub struct Pubkey([u8; 32]);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user