Commit graph

18 commits

Author SHA1 Message Date
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