• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 11670805668

04 Nov 2024 06:50PM UTC coverage: 49.796% (-9.0%) from 58.837%
11670805668

Pull #9241

github

Crypt-iQ
discovery+graph: track job set dependencies in ValidationBarrier

Prior to this commit, it was rare, but possible that proper
validation order was not adhered to when using the ValidationBarrier.
This commit does two things that fix this:
- removes the concept of allow / deny. Having this in place was a
  minor optimization and removing it makes the solution simpler.
- changes the job dependency tracking to track sets of parent jobs
  rather than individual parent jobs.

As a note, the purpose of the ValidationBarrier is that it allows us
to launch gossip validation jobs in goroutines while still ensuring
that the validation order of these goroutines is adhered to when it
comes to validating ChannelAnnouncement _before_ ChannelUpdate and
_before_ NodeAnnouncement.
Pull Request #9241: [DRAFT] discovery+graph: track job set dependencies in vb

183 of 208 new or added lines in 3 files covered. (87.98%)

25473 existing lines in 433 files now uncovered.

99304 of 199422 relevant lines covered (49.8%)

1.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/buffer/utils.go
1
package buffer
2

3
// RecycleSlice zeroes byte slice, making it fresh for another use.
4
// Zeroing the buffer using a logarithmic number of calls to the optimized copy
5
// method.  Benchmarking shows this to be ~30 times faster than a for loop that
6
// sets each index to 0 for ~65KB buffers use for wire messages. Inspired by:
7
// https://stackoverflow.com/questions/30614165/is-there-analog-of-memset-in-go
8
func RecycleSlice(b []byte) {
3✔
9
        if len(b) == 0 {
3✔
UNCOV
10
                return
×
UNCOV
11
        }
×
12

13
        b[0] = 0
3✔
14
        for i := 1; i < len(b); i *= 2 {
6✔
15
                copy(b[i:], b[:i])
3✔
16
        }
3✔
17
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc