1616
1717use crate :: block:: ClosedBlock ;
1818
19+ #[ derive( Default ) ]
1920pub struct SealingQueue {
2021 /// Not yet being sealed by a miner, but if one asks for work, we'd prefer they do this.
2122 pending : Option < ClosedBlock > ,
2223 /// Currently being sealed by miners.
2324 in_use : Vec < ClosedBlock > ,
24- /// The maximum allowable number of items in_use.
25- max_size : usize ,
2625}
2726
2827impl SealingQueue {
29- pub fn new ( max_size : usize ) -> Self {
30- Self {
31- pending : None ,
32- in_use : Vec :: new ( ) ,
33- max_size,
34- }
28+ pub fn new ( ) -> Self {
29+ Self :: default ( )
3530 }
3631
3732 /// Return a reference to the item at the top of the queue (or `None` if the queue is empty);
@@ -50,9 +45,6 @@ impl SealingQueue {
5045 pub fn use_last_ref ( & mut self ) -> Option < & ClosedBlock > {
5146 if let Some ( x) = self . pending . take ( ) {
5247 self . in_use . push ( x) ;
53- if self . in_use . len ( ) > self . max_size {
54- self . in_use . remove ( 0 ) ;
55- }
5648 }
5749 self . in_use . last ( )
5850 }
@@ -74,8 +66,6 @@ mod tests {
7466 use crate :: scheme:: Scheme ;
7567 use crate :: tests:: helpers:: get_temp_state_db;
7668
77- const QUEUE_SIZE : usize = 2 ;
78-
7969 fn create_closed_block ( address : Address ) -> ClosedBlock {
8070 let scheme = Scheme :: new_test ( ) ;
8171 let genesis_header = scheme. genesis_header ( ) ;
@@ -87,7 +77,7 @@ mod tests {
8777
8878 #[ test]
8979 fn fail_to_find_when_pushed ( ) {
90- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
80+ let mut q = SealingQueue :: new ( ) ;
9181 let b = create_closed_block ( Address :: default ( ) ) ;
9282 let h = b. hash ( ) ;
9383
@@ -98,7 +88,7 @@ mod tests {
9888
9989 #[ test]
10090 fn find_when_pushed_and_used ( ) {
101- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
91+ let mut q = SealingQueue :: new ( ) ;
10292 let b = create_closed_block ( Address :: default ( ) ) ;
10393 let h = b. hash ( ) ;
10494
@@ -110,7 +100,7 @@ mod tests {
110100
111101 #[ test]
112102 fn find_when_others_used ( ) {
113- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
103+ let mut q = SealingQueue :: new ( ) ;
114104 let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
115105 let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
116106 let h1 = b1. hash ( ) ;
@@ -123,24 +113,9 @@ mod tests {
123113 assert ! ( q. take_used_if( |b| b. hash( ) == h1) . is_some( ) ) ;
124114 }
125115
126- #[ test]
127- fn fail_to_find_when_too_many_used ( ) {
128- let mut q = SealingQueue :: new ( 1 ) ;
129- let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
130- let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
131- let h1 = b1. hash ( ) ;
132-
133- q. push ( b1) ;
134- q. use_last_ref ( ) ;
135- q. push ( b2) ;
136- q. use_last_ref ( ) ;
137-
138- assert ! ( q. take_used_if( |b| b. hash( ) == h1) . is_none( ) ) ;
139- }
140-
141116 #[ test]
142117 fn fail_to_find_when_not_used_and_then_pushed ( ) {
143- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
118+ let mut q = SealingQueue :: new ( ) ;
144119 let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
145120 let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
146121 let h1 = b1. hash ( ) ;
@@ -154,7 +129,7 @@ mod tests {
154129
155130 #[ test]
156131 fn peek_correctly_after_push ( ) {
157- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
132+ let mut q = SealingQueue :: new ( ) ;
158133 let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
159134 let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
160135 let h1 = b1. hash ( ) ;
@@ -169,7 +144,7 @@ mod tests {
169144
170145 #[ test]
171146 fn inspect_correctly ( ) {
172- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
147+ let mut q = SealingQueue :: new ( ) ;
173148 let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
174149 let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
175150 let h1 = b1. hash ( ) ;
@@ -186,7 +161,7 @@ mod tests {
186161
187162 #[ test]
188163 fn fail_to_find_when_not_used_peeked_and_then_pushed ( ) {
189- let mut q = SealingQueue :: new ( QUEUE_SIZE ) ;
164+ let mut q = SealingQueue :: new ( ) ;
190165 let b1 = create_closed_block ( Address :: from ( 1 ) ) ;
191166 let b2 = create_closed_block ( Address :: from ( 2 ) ) ;
192167 let h = b1. hash ( ) ;
0 commit comments