@@ -282,13 +282,7 @@ func (d *Deliverer) assignReceivers() (int, error) {
282282 }
283283
284284 if d .blockReceiver == nil {
285- seekInfoEnv , err := d .createSeekInfo (d .nextBlockNumber , false )
286- if err != nil {
287- d .Logger .Error ("Could not create a signed Deliver SeekInfo message, something is critically wrong" , err )
288- d .Cancel ()
289-
290- return numEP , err
291- }
285+ seekInfoEnvFunc := d .createSeekInfo (d .nextBlockNumber , false )
292286
293287 d .blockReceiverIndex = (d .blockReceiverIndex + 1 ) % numEP
294288 ep := d .Endpoints [d .blockReceiverIndex ]
@@ -315,7 +309,7 @@ func (d *Deliverer) assignReceivers() (int, error) {
315309 false ,
316310 d .workBlockReceiver (d .chBlockReceiver ),
317311 d .endBlockReceiver (d .chBlockReceiver ),
318- seekInfoEnv ,
312+ seekInfoEnvFunc ,
319313 )
320314
321315 go d .blockReceiver .DeliverBlocks ()
@@ -340,13 +334,7 @@ func (d *Deliverer) assignReceivers() (int, error) {
340334 hRcvToCreate = append (hRcvToCreate , ep )
341335 }
342336
343- seekInfoEnv , err := d .createSeekInfo (d .nextBlockNumber , true )
344- if err != nil {
345- d .Logger .Error ("Could not create a signed Deliver SeekInfo message, something is critically wrong" , err )
346- d .Cancel ()
347-
348- return numEP , err
349- }
337+ seekInfoEnvFunc := d .createSeekInfo (d .nextBlockNumber , true )
350338
351339 for _ , ep := range hRcvToCreate {
352340 ch := make (chan * common.Block , 10 )
@@ -366,7 +354,7 @@ func (d *Deliverer) assignReceivers() (int, error) {
366354 true ,
367355 d .workHeadReceiver (ch ),
368356 d .endBlockReceiver (ch ),
369- seekInfoEnv ,
357+ seekInfoEnvFunc ,
370358 )
371359
372360 d .headerReceivers [ep .Address ] = & header {
@@ -381,39 +369,40 @@ func (d *Deliverer) assignReceivers() (int, error) {
381369 return numEP , nil
382370}
383371
384- func (d * Deliverer ) createSeekInfo (ledgerHeight uint64 , workHeader bool ) (* common.Envelope , error ) {
385- ct := orderer . SeekInfo_BLOCK
386-
387- if workHeader {
388- ct = orderer .SeekInfo_HEADER_WITH_SIG
389- }
372+ func (d * Deliverer ) createSeekInfo (ledgerHeight uint64 , workHeader bool ) func () (* common.Envelope , error ) {
373+ return func () ( * common. Envelope , error ) {
374+ ct := orderer . SeekInfo_BLOCK
375+ if workHeader {
376+ ct = orderer .SeekInfo_HEADER_WITH_SIG
377+ }
390378
391- return protoutil .CreateSignedEnvelopeWithTLSBinding (
392- common .HeaderType_DELIVER_SEEK_INFO ,
393- d .ChainID ,
394- d .Signer ,
395- & orderer.SeekInfo {
396- Start : & orderer.SeekPosition {
397- Type : & orderer.SeekPosition_Specified {
398- Specified : & orderer.SeekSpecified {
399- Number : ledgerHeight ,
379+ return protoutil .CreateSignedEnvelopeWithTLSBinding (
380+ common .HeaderType_DELIVER_SEEK_INFO ,
381+ d .ChainID ,
382+ d .Signer ,
383+ & orderer.SeekInfo {
384+ Start : & orderer.SeekPosition {
385+ Type : & orderer.SeekPosition_Specified {
386+ Specified : & orderer.SeekSpecified {
387+ Number : ledgerHeight ,
388+ },
400389 },
401390 },
402- },
403- Stop : & orderer.SeekPosition {
404- Type : & orderer.SeekPosition_Specified {
405- Specified : & orderer. SeekSpecified {
406- Number : math . MaxUint64 ,
391+ Stop : & orderer. SeekPosition {
392+ Type : & orderer.SeekPosition_Specified {
393+ Specified : & orderer.SeekSpecified {
394+ Number : math . MaxUint64 ,
395+ } ,
407396 },
408397 },
398+ Behavior : orderer .SeekInfo_BLOCK_UNTIL_READY ,
399+ ContentType : ct ,
409400 },
410- Behavior : orderer .SeekInfo_BLOCK_UNTIL_READY ,
411- ContentType : ct ,
412- },
413- int32 (0 ),
414- uint64 (0 ),
415- d .TLSCertHash ,
416- )
401+ int32 (0 ),
402+ uint64 (0 ),
403+ d .TLSCertHash ,
404+ )
405+ }
417406}
418407
419408func (d * Deliverer ) launchHeaderReceivers () {
0 commit comments