Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: use int64 in publisher delay#19457

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
deansheather merged 1 commit intomainfromdean/usage-int64
Aug 21, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletionscryptorand/numbers.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -47,6 +47,12 @@ func Int63() (int64, error) {
return rng.Int63(), cs.err
}

// Int63n returns a non-negative integer in [0,maxVal) as an int64.
func Int63n(maxVal int64) (int64, error) {
rng, cs := secureRand()
return rng.Int63n(maxVal), cs.err
}

// Intn returns a non-negative integer in [0,maxVal) as an int.
func Intn(maxVal int) (int, error) {
rng, cs := secureRand()
Expand Down
21 changes: 21 additions & 0 deletionscryptorand/numbers_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,27 @@ func TestInt63(t *testing.T) {
}
}

func TestInt63n(t *testing.T) {
t.Parallel()

for i := 0; i < 20; i++ {
v, err := cryptorand.Int63n(100)
require.NoError(t, err, "unexpected error from Int63n")
t.Logf("value: %v <- random?", v)
require.GreaterOrEqual(t, v, int64(0), "values must be positive")
require.Less(t, v, int64(100), "values must be less than 100")
}

// Ensure Int63n works for int larger than 32 bits
_, err := cryptorand.Int63n(1 << 35)
require.NoError(t, err, "expected Int63n to work for 64-bit int")

// Expect a panic if max is negative
require.PanicsWithValue(t, "invalid argument to Int63n", func() {
cryptorand.Int63n(0)
})
Comment on lines +37 to +40

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

0 isn't negative

}

func TestIntn(t *testing.T) {
t.Parallel()

Expand Down
4 changes: 2 additions & 2 deletionsenterprise/coderd/usage/publisher.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -136,8 +136,8 @@ func (p *tallymanPublisher) Start() error {
if p.initialDelay <= 0 {
// Pick a random time between tallymanPublishInitialMinimumDelay and
// tallymanPublishInterval.
maxPlusDelay :=int(tallymanPublishInterval - tallymanPublishInitialMinimumDelay)
plusDelay, err := cryptorand.Intn(maxPlusDelay)
maxPlusDelay := tallymanPublishInterval - tallymanPublishInitialMinimumDelay
plusDelay, err := cryptorand.Int63n(int64(maxPlusDelay))
if err != nil {
return xerrors.Errorf("could not generate random start delay: %w", err)
}
Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp