matrix-capnproto-fed

What if Matrix was written using Cap'n'proto and a RPC federation API?
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-capnproto-fed.git
Log | Files | Refs | README | LICENSE

commit 45b558e2f6915487cb995ba95fd1146816b09952
parent b5e7d6c76a85f0e31aa32ba890430499f2b0e001
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 14 Mar 2024 22:27:01 +0100

Use Fixed limiter instead

Diffstat:
Mcmds/client/main.go | 4++--
Mcmds/server/main.go | 4++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/cmds/client/main.go b/cmds/client/main.go @@ -6,7 +6,7 @@ import ( "net" "time" - "capnproto.org/go/capnp/v3/flowcontrol/bbr" + "capnproto.org/go/capnp/v3/flowcontrol" "capnproto.org/go/capnp/v3/rpc" "github.com/MTRNord/matrix_protobuf_fed/cmds/client/helpers" protocol "github.com/MTRNord/matrix_protobuf_fed/proto/federation/v1" @@ -55,7 +55,7 @@ func printServerKeys(ctx context.Context, client protocol.MatrixFederation) erro callback := helpers.NewKeyStreamCallback() callback_client := protocol.StreamCallback_ServerToClient(callback) defer callback_client.Release() - callback_client.SetFlowLimiter(bbr.NewLimiter(nil)) + callback_client.SetFlowLimiter(flowcontrol.NewFixedLimiter(1 << 16)) keys_future, release := client.GetKeys(ctx, func(p protocol.MatrixFederation_getKeys_Params) error { log.Println("Sending getKeys request...") diff --git a/cmds/server/main.go b/cmds/server/main.go @@ -7,7 +7,7 @@ import ( "net" "capnproto.org/go/capnp/v3" - "capnproto.org/go/capnp/v3/flowcontrol/bbr" + "capnproto.org/go/capnp/v3/flowcontrol" "capnproto.org/go/capnp/v3/rpc" "github.com/MTRNord/matrix_protobuf_fed/rpcserver" @@ -71,7 +71,7 @@ func main() { server := rpcserver.NewServer() client := protocol.MatrixFederation_ServerToClient(server) - client.SetFlowLimiter(bbr.NewLimiter(nil)) + client.SetFlowLimiter(flowcontrol.NewFixedLimiter(1 << 16)) ListenAndServe(context.Background(), "tcp", "localhost:2000", capnp.Client(client)) }