@@ -91,16 +91,14 @@ impl<B, Block, C, A> ProposerFactory<A, B, C>
9191 info ! ( "🙌 Starting consensus session on top of parent {:?}" , parent_hash) ;
9292
9393 let proposer = Proposer {
94- inner : Arc :: new ( ProposerInner {
95- client : self . client . clone ( ) ,
96- parent_hash,
97- parent_id : id,
98- parent_number : * parent_header. number ( ) ,
99- transaction_pool : self . transaction_pool . clone ( ) ,
100- now,
101- metrics : self . metrics . clone ( ) ,
102- _phantom : PhantomData ,
103- } ) ,
94+ client : self . client . clone ( ) ,
95+ parent_hash,
96+ parent_id : id,
97+ parent_number : * parent_header. number ( ) ,
98+ transaction_pool : self . transaction_pool . clone ( ) ,
99+ now,
100+ metrics : self . metrics . clone ( ) ,
101+ _phantom : PhantomData ,
104102 } ;
105103
106104 proposer
@@ -132,11 +130,6 @@ impl<A, B, Block, C> sp_consensus::Environment<Block> for
132130
133131/// The proposer logic.
134132pub struct Proposer < B , Block : BlockT , C , A : TransactionPool > {
135- inner : Arc < ProposerInner < B , Block , C , A > > ,
136- }
137-
138- /// Proposer inner, to wrap parameters under Arc.
139- struct ProposerInner < B , Block : BlockT , C , A : TransactionPool > {
140133 client : Arc < C > ,
141134 parent_hash : <Block as BlockT >:: Hash ,
142135 parent_id : BlockId < Block > ,
@@ -165,22 +158,21 @@ impl<A, B, Block, C> sp_consensus::Proposer<Block> for
165158 type Error = sp_blockchain:: Error ;
166159
167160 fn propose (
168- & mut self ,
161+ self ,
169162 inherent_data : InherentData ,
170163 inherent_digests : DigestFor < Block > ,
171164 max_duration : time:: Duration ,
172165 record_proof : RecordProof ,
173166 ) -> Self :: Proposal {
174- let inner = self . inner . clone ( ) ;
175167 tokio_executor:: blocking:: run ( move || {
176168 // leave some time for evaluation and block finalization (33%)
177- let deadline = ( inner . now ) ( ) + max_duration - max_duration / 3 ;
178- inner . propose_with ( inherent_data, inherent_digests, deadline, record_proof)
169+ let deadline = ( self . now ) ( ) + max_duration - max_duration / 3 ;
170+ self . propose_with ( inherent_data, inherent_digests, deadline, record_proof)
179171 } )
180172 }
181173}
182174
183- impl < A , B , Block , C > ProposerInner < B , Block , C , A >
175+ impl < A , B , Block , C > Proposer < B , Block , C , A >
184176 where
185177 A : TransactionPool < Block = Block > ,
186178 B : backend:: Backend < Block > + Send + Sync + ' static ,
@@ -191,7 +183,7 @@ impl<A, B, Block, C> ProposerInner<B, Block, C, A>
191183 + BlockBuilderApi < Block , Error = sp_blockchain:: Error > ,
192184{
193185 fn propose_with (
194- & self ,
186+ self ,
195187 inherent_data : InherentData ,
196188 inherent_digests : DigestFor < Block > ,
197189 deadline : time:: Instant ,
@@ -399,7 +391,7 @@ mod tests {
399391 let mut proposer_factory = ProposerFactory :: new ( client. clone ( ) , txpool. clone ( ) , None ) ;
400392
401393 let cell = Mutex :: new ( ( false , time:: Instant :: now ( ) ) ) ;
402- let mut proposer = proposer_factory. init_with_now (
394+ let proposer = proposer_factory. init_with_now (
403395 & client. header ( & BlockId :: number ( 0 ) ) . unwrap ( ) . unwrap ( ) ,
404396 Box :: new ( move || {
405397 let mut value = cell. lock ( ) ;
@@ -440,7 +432,7 @@ mod tests {
440432 let mut proposer_factory = ProposerFactory :: new ( client. clone ( ) , txpool. clone ( ) , None ) ;
441433
442434 let cell = Mutex :: new ( ( false , time:: Instant :: now ( ) ) ) ;
443- let mut proposer = proposer_factory. init_with_now (
435+ let proposer = proposer_factory. init_with_now (
444436 & client. header ( & BlockId :: number ( 0 ) ) . unwrap ( ) . unwrap ( ) ,
445437 Box :: new ( move || {
446438 let mut value = cell. lock ( ) ;
@@ -489,7 +481,7 @@ mod tests {
489481
490482 let mut proposer_factory = ProposerFactory :: new ( client. clone ( ) , txpool. clone ( ) , None ) ;
491483
492- let mut proposer = proposer_factory. init_with_now (
484+ let proposer = proposer_factory. init_with_now (
493485 & client. header ( & block_id) . unwrap ( ) . unwrap ( ) ,
494486 Box :: new ( move || time:: Instant :: now ( ) ) ,
495487 ) ;
@@ -560,7 +552,7 @@ mod tests {
560552 expected_block_extrinsics,
561553 expected_pool_transactions,
562554 | {
563- let mut proposer = proposer_factory. init_with_now(
555+ let proposer = proposer_factory. init_with_now(
564556 & client. header( & BlockId :: number( number) ) . unwrap( ) . unwrap( ) ,
565557 Box :: new( move || time:: Instant :: now( ) ) ,
566558 ) ;
0 commit comments