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::{ | ||||
|     convert::{Infallible, TryFrom}, | ||||
|     fmt, mem, | ||||
|     str::FromStr, | ||||
| 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