@@ -63,26 +63,8 @@ protected override bool SetResultCore(PhysicalConnection connection, Message mes
6363 // especially useful for VLINKS
6464 private abstract class FlattenedLeaseProcessor < T > : ResultProcessor < Lease < T > ? >
6565 {
66- protected virtual long GetArrayLength ( in RawResult array ) => array . GetItems ( ) . Length ;
67-
6866 protected virtual long GetArrayLength ( in RespReader reader ) => reader . AggregateLength ( ) ;
6967
70- protected virtual bool TryReadOne ( ref Sequence < RawResult > . Enumerator reader , out T value )
71- {
72- if ( reader . MoveNext ( ) )
73- {
74- return TryReadOne ( in reader . Current , out value ) ;
75- }
76- value = default ! ;
77- return false ;
78- }
79-
80- protected virtual bool TryReadOne ( in RawResult result , out T value )
81- {
82- value = default ! ;
83- return false ;
84- }
85-
8668 protected virtual bool TryReadOne ( ref RespReader reader , out T value )
8769 {
8870 value = default ! ;
@@ -159,56 +141,6 @@ protected override bool SetResultCore(PhysicalConnection connection, Message mes
159141 throw ;
160142 }
161143 }
162-
163- protected override bool SetResultCore ( PhysicalConnection connection , Message message , RawResult result )
164- {
165- if ( result . Resp2TypeArray != ResultType . Array )
166- {
167- return false ; // not an array
168- }
169- if ( result . IsNull )
170- {
171- SetResult ( message , Lease < T > . Empty ) ;
172- return true ;
173- }
174- var items = result . GetItems ( ) ;
175- long length = 0 ;
176- foreach ( ref RawResult item in items )
177- {
178- if ( item . Resp2TypeArray == ResultType . Array && ! item . IsNull )
179- {
180- length += GetArrayLength ( in item ) ;
181- }
182- }
183-
184- if ( length == 0 )
185- {
186- SetResult ( message , Lease < T > . Empty ) ;
187- return true ;
188- }
189- var lease = Lease < T > . Create ( checked ( ( int ) length ) , clear : false ) ;
190- int index = 0 ;
191- var target = lease . Span ;
192- foreach ( ref RawResult item in items )
193- {
194- if ( item . Resp2TypeArray == ResultType . Array && ! item . IsNull )
195- {
196- var iter = item . GetItems ( ) . GetEnumerator ( ) ;
197- while ( index < target . Length && TryReadOne ( ref iter , out target [ index ] ) )
198- {
199- index ++ ;
200- }
201- }
202- }
203-
204- if ( index == length )
205- {
206- SetResult ( message , lease ) ;
207- return true ;
208- }
209- lease . Dispose ( ) ; // failed to fill?
210- return false ;
211- }
212144 }
213145
214146 private sealed class LeaseFloat32Processor : LeaseProcessor < float >
0 commit comments