Commit Graph

154 Commits

Author SHA1 Message Date
vyzo
a6f536861c embed resources to avoid pointer indirection 2022-01-17 12:33:01 +02:00
vyzo
7429488edb use network.ErrResource* 2022-01-17 12:33:01 +02:00
vyzo
e5049999aa Update scope.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2022-01-17 12:33:01 +02:00
vyzo
5a572dc460 Update scope.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2022-01-17 12:33:01 +02:00
vyzo
2894975557 alias the interface errors instead of redefining them 2022-01-17 12:33:01 +02:00
vyzo
d70507ffbb fix tests 2022-01-17 12:33:01 +02:00
vyzo
1d5f0c9ad2 update for interface changes; RIP buffers. 2022-01-17 12:33:01 +02:00
vyzo
666b27cd07 unexport resources 2022-01-17 12:33:01 +02:00
vyzo
1ea897ee4d remove unneded casts 2022-01-17 12:33:01 +02:00
vyzo
b126e3b71e fix typo
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2022-01-17 12:33:01 +02:00
vyzo
c3b6ce61b7 resource manager test, fix bugz 2022-01-17 12:33:01 +02:00
vyzo
55dfd14ea6 more resource scope tests, fix bug 2022-01-17 12:33:01 +02:00
vyzo
9bbf094c22 add resource scope DAG test 2022-01-17 12:33:01 +02:00
vyzo
5cf9c9fc9a moar txn tests 2022-01-17 12:33:01 +02:00
vyzo
9eac0610ff basic txn test, fix bugz 2022-01-17 12:33:01 +02:00
vyzo
e33821dae4 basic resource scope tests 2022-01-17 12:33:01 +02:00
vyzo
09ad519687 nil data when the scope is done 2022-01-17 12:33:01 +02:00
vyzo
25825bc4f5 add comment for the distinction between DAG and txn scopes 2022-01-17 12:33:01 +02:00
vyzo
1ce37234b7 fix test 2022-01-17 12:33:01 +02:00
vyzo
03426ed4bd more robust handling of transactions
Neuter the invalidation footgun if the owner is Done while there are open transactions scopes.
2022-01-17 12:33:01 +02:00
vyzo
4bcd05997d simplify stream/conn direction management 2022-01-17 12:33:01 +02:00
vyzo
0d73447ea4 add resources test 2022-01-17 12:33:01 +02:00
vyzo
4f7d23aa6f implement buffers 2022-01-17 12:33:01 +02:00
vyzo
79d15fa18c consolidate Rerve/ReleaseForChild in aggregate method 2022-01-17 12:33:01 +02:00
vyzo
6427759aab some cleanup for rcmgr scopes 2022-01-17 12:33:01 +02:00
vyzo
f31f87221b static limits 2022-01-17 12:33:01 +02:00
vyzo
62105f3a71 consistent ref counting 2022-01-17 12:33:01 +02:00
vyzo
efe5e36d58 update implementation for interface changes 2022-01-17 12:33:01 +02:00
vyzo
76fd5b0e8f more descriptive invalid buffer error in Grow 2022-01-17 12:33:01 +02:00
vyzo
35f25a934f add missing done checks in ForChild methods 2022-01-17 12:33:01 +02:00
vyzo
a42700a439 make connection/stream Done idempotent 2022-01-17 12:33:01 +02:00
vyzo
0b5b506b8c move ref counting to resource scopes 2022-01-17 12:33:01 +02:00
vyzo
71b70cd48b implement scope viewers 2022-01-17 12:33:01 +02:00
vyzo
3422b8cbde add ResourceManager constructor and peer/protocol scope gc 2022-01-17 12:33:01 +02:00
vyzo
cff880ac60 flesh out resource manager 2022-01-17 12:33:01 +02:00
vyzo
431ca69df7 update scope stat definition 2022-01-17 12:33:01 +02:00
vyzo
c46de4165c only allocate buffer map if the application requests a buffer, sanity check returns 2022-01-17 12:33:01 +02:00
vyzo
b85397384b only count fds if the connection actually uses an fd 2022-01-17 12:33:01 +02:00
vyzo
e07aba016b stream service cannot be set before peer 2022-01-17 12:33:01 +02:00
vyzo
39e351882b fix brainfart 2022-01-17 12:33:01 +02:00
vyzo
0ca5ac15d9 flesh out concrete scopes 2022-01-17 12:33:01 +02:00
vyzo
01e64d31ec embed mutex in scope impl, add constructors 2022-01-17 12:33:01 +02:00
vyzo
3bffbe8521 release buffer map at done 2022-01-17 12:33:01 +02:00
vyzo
5cd5b94572 fix comment typo 2022-01-17 12:33:01 +02:00
vyzo
69d5e0d8e7 rename BasicResourceScope to Resources 2022-01-17 12:33:01 +02:00
vyzo
17a30366ae refactor scopes, introduce constrained scopes 2022-01-17 12:33:01 +02:00
vyzo
004a6948b2 add nil receiver safety to basic resource scopes 2022-01-17 12:33:01 +02:00
vyzo
61d2f1c8ce sanity check ReleaseMemory as well 2022-01-17 12:33:01 +02:00
vyzo
56da0ac34f add helper method to release all buffers 2022-01-17 12:33:01 +02:00
vyzo
068e8629f0 improve memory checking, adjust GrowBuffer signatures 2022-01-17 12:33:01 +02:00