cafa869fea
[ #8 ] limiting: Make SemaphoreLimiter.Acquire() zero-alloc
...
Previously, `Acquire` on exising key did 1 allocation because
`func() { sem.Release() }` was a closure capturing different variables.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-02-26 18:03:41 +03:00
356851eed3
[ #4 ] limiting/semaphore: Add benchmark for semaphore
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-13 15:50:59 +03:00
59fb93fb23
[ #4 ] limiting: Add limiter
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-13 15:38:27 +03:00
30e83428fd
[ #5 ] govulncheck: Fix minor update problems for good
...
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-02-10 18:39:38 +03:00
cfbca7fa1d
[ #3 ] govulncheck: Use patch release with security fixes
...
https://go.dev/doc/devel/release#go1.23.minor
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-28 18:03:13 +03:00
128933fade
[ #2 ] Add CODEOWNERS
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 14:29:37 +03:00
1fb8b137c5
[ #2 ] tagging: Add grpc and context methods
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 14:29:36 +03:00
f4d8ebf13d
[ #1 ] mclock: Add assert package
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:35:54 +03:00
9a48a50220
[ #1 ] mclock: Refactor scheduleRequest
...
Split to `scheduleRequest` and `scheduleRequestUnsafe`.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:23:07 +03:00
d8663f1a74
[ #1 ] mclock: Fix possible deadlock
...
There is a possible call-chain `scheduleRequest()` -> `runAt()` -> `scheduleRequest()`,
so second `scheduleRequest()` may be locked on mutext held by first `scheduleRequest()`.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:54 +03:00
f1cb5b40d5
[ #1 ] mclock: Use time.Duration
for idle timeout
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:54 +03:00
47559a8d16
[ #1 ] mclock: Refactor: split code between files
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:53 +03:00
54b4bf7cc1
[ #1 ] mclock: Fix time based scheduling
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:53 +03:00
e18d1a7c45
[ #1 ] mclock: Fix bench format
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:52 +03:00
f51c095236
[ #1 ] pre-commit: Use local golangci-lint hook
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:52 +03:00
7833c3aac5
[ #1 ] Makefile: Create directory with parents
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:51 +03:00
0dccab22c2
[ #1 ] mclock: Initial implementation
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-28 11:20:51 +03:00
eca6765dda
Initial commit
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-20 16:02:19 +03:00