Compare commits

..

1 commit

Author SHA1 Message Date
Raito Bezarius
97c9efb151 feat(ircv3): add simple internal batch processing
Some checks failed
CI / test (1.71) (pull_request) Has been cancelled
CI / test (stable) (pull_request) Has been cancelled
CI / rustfmt (pull_request) Has been cancelled
The BATCH feature is a form of a server-suggested message processing
delays.

To implement this, we can record all inflight batches, handle start/end
in handle_batch and collect all pending messages in the entrypoint of
the message handler as long as they have a correct batch id.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-11 12:29:26 +02:00
2 changed files with 41 additions and 27 deletions

View file

@ -1,27 +0,0 @@
name: CI
on:
pull_request: {}
push:
branches:
- develop
jobs:
test:
runs-on: nix
steps:
- uses: actions/checkout@v3
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --no-default-features"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --features tls-native"
- run: nix-shell -p cargo pkg-config openssl --run "cargo build --workspace --all-targets --features tls-rust"
- run: nix-shell -p cargo pkg-config openssl --run "cargo test --workspace --all-targets"
# runs all documentation tests separately, since those are not picked up by
# `--all-targets`.
- run: nix-shell -p cargo pkg-config openssl --run "cargo test --workspace --doc"
rustfmt:
runs-on: nix
steps:
- uses: actions/checkout@v3
- run: nix-shell -p rustfmt cargo --run "cargo fmt --all --check"

41
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,41 @@
name: CI
on:
pull_request: {}
push:
branches:
- develop
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: ["1.71", stable]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
- run: cargo build --workspace --all-targets
- run: cargo build --workspace --all-targets --no-default-features
- run: cargo build --workspace --all-targets --features tls-native
- run: cargo build --workspace --all-targets --features tls-rust
# runs all tests for all targets, including examples and benchmarks. Only on
# stable, since we don't care about tests running on MSRV.
- run: cargo test --workspace --all-targets
if: matrix.rust == 'stable'
# runs all documentation tests separately, since those are not picked up by
# `--all-targets`.
- run: cargo test --workspace --doc
if: matrix.rust == 'stable'
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all --check