mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-10-12 02:22:45 +00:00
Compare commits
base: simplex-chat/simplexmq:f/android-cmd-err-context
simplex-chat/simplexmq:stable
simplex-chat/simplexmq:ep/parallel-tests
simplex-chat/simplexmq:master
simplex-chat/simplexmq:names
simplex-chat/simplexmq:nd/net-socket-timeout
simplex-chat/simplexmq:nd/socks-reconnect-backoff
simplex-chat/simplexmq:sh/queue-map-leak
simplex-chat/simplexmq:nd/net-close-clients
simplex-chat/simplexmq:nd/net-reconnect-all-epoch
simplex-chat/simplexmq:nd/net-retry-epoch
simplex-chat/simplexmq:nd/net-session-races
simplex-chat/simplexmq:sh/corrid-nonce
simplex-chat/simplexmq:sh/low-order-dh
simplex-chat/simplexmq:sh/fix-leak
simplex-chat/simplexmq:sh/fix-proxy-mesh
simplex-chat/simplexmq:sh/fix-conn-mem
simplex-chat/simplexmq:nd/index-active-sub-conns
simplex-chat/simplexmq:sh/fix-proxy-leak
simplex-chat/simplexmq:sh/fix-ntf-store
simplex-chat/simplexmq:sh/fix-rslv-fanout
simplex-chat/simplexmq:ep/disable-kem
simplex-chat/simplexmq:ep/usage-stats
simplex-chat/simplexmq:ep/pow
simplex-chat/simplexmq:sh/resolver-error-logs
simplex-chat/simplexmq:ed-asriyan/xftp-send-link
simplex-chat/simplexmq:ab/names-owned-by
simplex-chat/simplexmq:sh/ntf-investigate
simplex-chat/simplexmq:sh/debug
simplex-chat/simplexmq:ab/snrc-resolver-expiry-and-availability
simplex-chat/simplexmq:ab/resolver-labelhash-query
simplex-chat/simplexmq:sh/ntf-performance
simplex-chat/simplexmq:ab/snrc-resolver-owned-by
simplex-chat/simplexmq:ep/log-alpn
simplex-chat/simplexmq:ep/split-apns
simplex-chat/simplexmq:ep/conc-msgs
simplex-chat/simplexmq:ep/optimize
simplex-chat/simplexmq:ep/smp-web-agent
simplex-chat/simplexmq:ep/spec-2
simplex-chat/simplexmq:smp-web
simplex-chat/simplexmq:rcv-services
simplex-chat/simplexmq:sh/debug-rcv
simplex-chat/simplexmq:ep/network-error
simplex-chat/simplexmq:revert-1750-f/relay-link-key
simplex-chat/simplexmq:sh/slow-queries
simplex-chat/simplexmq:sh/memory
simplex-chat/simplexmq:f/e2e-test-relay-failed
simplex-chat/simplexmq:sh/xftp-npm
simplex-chat/simplexmq:sh/xftp-web-pages
simplex-chat/simplexmq:wp/test_wp
simplex-chat/simplexmq:ep/wp-test
simplex-chat/simplexmq:dev-wp
simplex-chat/simplexmq:p1gp1g-webpush_requests
simplex-chat/simplexmq:unified-push
simplex-chat/simplexmq:ep/agent-opt-subs-3
simplex-chat/simplexmq:ep/upgrade-hackage
simplex-chat/simplexmq:sh/reproduce-script
simplex-chat/simplexmq:f/postgres-log-error
simplex-chat/simplexmq:ep/delivered-metrics-6408
simplex-chat/simplexmq:ep/delivered-metrics-6407
simplex-chat/simplexmq:ep/optimize-server
simplex-chat/simplexmq:sh/expr
simplex-chat/simplexmq:ep/recover-journal
simplex-chat/simplexmq:_archived-ep/agent-rejection
simplex-chat/simplexmq:ep/remove-empty-journals-test
simplex-chat/simplexmq:ep/qj-rename
simplex-chat/simplexmq:queue-journals
simplex-chat/simplexmq:ep/disable-background
simplex-chat/simplexmq:ep/rfc-cluster
simplex-chat/simplexmq:ep/remove-strictdata
simplex-chat/simplexmq:f/android-cmd-err-context
simplex-chat/simplexmq:ep/smp-one-map
simplex-chat/simplexmq:ab/info-tables
simplex-chat/simplexmq:ab/tls-2
simplex-chat/simplexmq:f/rfc-ntf-3
simplex-chat/simplexmq:f/ntf-logs
simplex-chat/simplexmq:f/ntf-batch-measure
simplex-chat/simplexmq:av/added-logs-to-pq
simplex-chat/simplexmq:_archived-queue-blobs
simplex-chat/simplexmq:ep/end-stats-2
simplex-chat/simplexmq:ep/less-stm
simplex-chat/simplexmq:ab/bench-target
simplex-chat/simplexmq:ab/pclient-disconnected
simplex-chat/simplexmq:f/reconnect-servers
simplex-chat/simplexmq:ep/known-servers
simplex-chat/simplexmq:ep/fc-rotate-connection
simplex-chat/simplexmq:ab/measure
simplex-chat/simplexmq:ab/async-subs
simplex-chat/simplexmq:ab/bench-tweetnacl
simplex-chat/simplexmq:ab/nacl
simplex-chat/simplexmq:ep/log-events
simplex-chat/simplexmq:ep/disable-wait-network
simplex-chat/simplexmq:ab/queue-store
simplex-chat/simplexmq:ab/track-client-subs
simplex-chat/simplexmq:ab/check-session
simplex-chat/simplexmq:ab/send-timeout
simplex-chat/simplexmq:ab/proxy-errors
simplex-chat/simplexmq:ab/socks-connect-timeout
simplex-chat/simplexmq:ab/hspec-deadline
simplex-chat/simplexmq:ep/proxy-client-server
simplex-chat/simplexmq:ab/lazy-bs
simplex-chat/simplexmq:ab/atomically-blocked
simplex-chat/simplexmq:ab/track-acks
simplex-chat/simplexmq:ep/test-ntf
simplex-chat/simplexmq:ab/mlock
simplex-chat/simplexmq:f/register-return-srv
simplex-chat/simplexmq:ep/delivery-wip
simplex-chat/simplexmq:ep/rfc-delivery-workers
simplex-chat/simplexmq:ep/builder-2
simplex-chat/simplexmq:ep/batch-5
simplex-chat/simplexmq:master-ghc8107
simplex-chat/simplexmq:ep/journal-mode-wal
simplex-chat/simplexmq:ab/sntrup761-unhaskell
simplex-chat/simplexmq:f/files-tests
simplex-chat/simplexmq:ep/test-coverage
simplex-chat/simplexmq:f/xftp-non-tmp-error
simplex-chat/simplexmq:f/xftp-retry-improvements
simplex-chat/simplexmq:ep/stress-test
simplex-chat/simplexmq:ep/fix-hanging-test
simplex-chat/simplexmq:ep/rfc-rotation
simplex-chat/simplexmq:ep/retry-ack
simplex-chat/simplexmq:ep/semaphore-experiment
simplex-chat/simplexmq:ep/tcp-keep-alive-empty
simplex-chat/simplexmq:f/server-ips
simplex-chat/simplexmq:e/postgres-poc
simplex-chat/simplexmq:e/readme-servers
simplex-chat/simplexmq:e/postgres-poc-fork
simplex-chat/simplexmq:legacy
simplex-chat/simplexmq:v5-ghc844
simplex-chat/simplexmq:v7.1.0-beta.3
simplex-chat/simplexmq:v7.1.0-beta.2
simplex-chat/simplexmq:v7.1.0-beta.1
simplex-chat/simplexmq:v7.1.0-beta.0
simplex-chat/simplexmq:v7.0.1
simplex-chat/simplexmq:v7.0.0
simplex-chat/simplexmq:v7.0.0-beta.3
simplex-chat/simplexmq:v7.0.0-beta.2
simplex-chat/simplexmq:v7.0.0-beta.1
simplex-chat/simplexmq:v7.0.0-beta.0
simplex-chat/simplexmq:v6.5.2
simplex-chat/simplexmq:v6.5.0
simplex-chat/simplexmq:v6.5.0-beta.8
simplex-chat/simplexmq:v6.5.0-beta.7
simplex-chat/simplexmq:v6.5.0-beta.6
simplex-chat/simplexmq:v6.5.0-beta.5
simplex-chat/simplexmq:v6.5.0-beta.4
simplex-chat/simplexmq:v6.5.0-beta.3
simplex-chat/simplexmq:v6.5.0-beta.2
simplex-chat/simplexmq:v6.5.0-beta.1
simplex-chat/simplexmq:v6.4.5
simplex-chat/simplexmq:v6.4.5-beta.0
simplex-chat/simplexmq:v6.4.4
simplex-chat/simplexmq:v6.4.3
simplex-chat/simplexmq:v6.4.2
simplex-chat/simplexmq:v6.4.1
simplex-chat/simplexmq:v6.4.0
simplex-chat/simplexmq:v6.4.0-beta.11
simplex-chat/simplexmq:v6.4.0-beta.10
simplex-chat/simplexmq:v6.4.0-beta.9
simplex-chat/simplexmq:v6.4.0-beta.8
simplex-chat/simplexmq:v6.4.0-beta.7
simplex-chat/simplexmq:v6.4.0-beta.6
simplex-chat/simplexmq:v6.4.0-beta.5
simplex-chat/simplexmq:v6.4.0-beta.4
simplex-chat/simplexmq:v6.4.0-beta.3
simplex-chat/simplexmq:v6.4.0-beta.1
simplex-chat/simplexmq:v6.4.0-beta.0
simplex-chat/simplexmq:v6.3.2
simplex-chat/simplexmq:v6.3.1
simplex-chat/simplexmq:v6.3.0
simplex-chat/simplexmq:v6.3.0-beta.7
simplex-chat/simplexmq:v6.3.0-beta.6
simplex-chat/simplexmq:v6.3.0-beta.5
simplex-chat/simplexmq:v6.3.0-beta.4
simplex-chat/simplexmq:v6.3.0-beta.3
simplex-chat/simplexmq:v6.3.0-beta.2
simplex-chat/simplexmq:v6.3.0-beta.1
simplex-chat/simplexmq:v6.2.1
simplex-chat/simplexmq:v6.2.0
simplex-chat/simplexmq:v6.2.0-beta.4
simplex-chat/simplexmq:v6.2.0-beta.3
simplex-chat/simplexmq:v6.2.0-beta.2
simplex-chat/simplexmq:v6.2.0-beta.1
simplex-chat/simplexmq:v6.1.3
simplex-chat/simplexmq:v6.1.2
simplex-chat/simplexmq:v6.1.1
simplex-chat/simplexmq:v6.1.0
simplex-chat/simplexmq:v6.1.0-beta.6
simplex-chat/simplexmq:v6.1.0-beta.5
simplex-chat/simplexmq:v6.1.0-beta.4
simplex-chat/simplexmq:v6.0.6
simplex-chat/simplexmq:v6.1.0-beta.2
simplex-chat/simplexmq:v6.1.0-beta.1
simplex-chat/simplexmq:v6.0.5
simplex-chat/simplexmq:v6.1.0-beta.0
simplex-chat/simplexmq:v6.0.4
simplex-chat/simplexmq:v6.0.3
simplex-chat/simplexmq:v6.0.2
simplex-chat/simplexmq:v6.0.1
simplex-chat/simplexmq:v6.0.0
simplex-chat/simplexmq:v6.0.0-beta.6
simplex-chat/simplexmq:v6.0.0-beta.4
simplex-chat/simplexmq:v6.0.0-beta.3
simplex-chat/simplexmq:v6.0.0-beta.1
simplex-chat/simplexmq:v5.8.2
simplex-chat/simplexmq:v5.8.1
simplex-chat/simplexmq:v5.8.0
simplex-chat/simplexmq:v5.8.0-beta.6
simplex-chat/simplexmq:v5.8.0-beta.5
simplex-chat/simplexmq:v5.8.0-beta.4
simplex-chat/simplexmq:v5.8.0-beta.3
simplex-chat/simplexmq:v5.7.5
simplex-chat/simplexmq:v5.8.0-beta.2
simplex-chat/simplexmq:v5.8.0-beta.1
simplex-chat/simplexmq:v5.7.4
simplex-chat/simplexmq:v5.8.0-beta.0
simplex-chat/simplexmq:v5.7.3
simplex-chat/simplexmq:v5.7.2
simplex-chat/simplexmq:v5.7.1
simplex-chat/simplexmq:v5.7.0
simplex-chat/simplexmq:v5.7.0-beta.2
simplex-chat/simplexmq:v5.7.0-beta.1
simplex-chat/simplexmq:v5.7.0-beta.0
simplex-chat/simplexmq:v5.6.2
simplex-chat/simplexmq:v5.6.2-beta.1
simplex-chat/simplexmq:v5.6.2-beta.0
simplex-chat/simplexmq:v5.6.1
simplex-chat/simplexmq:v5.6.0
simplex-chat/simplexmq:v5.6.0-beta.3
simplex-chat/simplexmq:v5.6.0-beta.2
simplex-chat/simplexmq:v5.6.0-beta.1
simplex-chat/simplexmq:v5.6.0-beta.0
simplex-chat/simplexmq:v5.5.3
simplex-chat/simplexmq:v5.5.2
simplex-chat/simplexmq:v5.5.1
simplex-chat/simplexmq:v5.5.1-beta.0
simplex-chat/simplexmq:v5.5.0
simplex-chat/simplexmq:v5.5.0-beta.5
simplex-chat/simplexmq:v5.5.0-beta.4
simplex-chat/simplexmq:v5.5.0-beta.3
simplex-chat/simplexmq:v5.5.0-beta.2
simplex-chat/simplexmq:v5.5.0-beta.0
simplex-chat/simplexmq:v5.4.0
simplex-chat/simplexmq:v5.4.0-beta.6
simplex-chat/simplexmq:v5.4.0-beta.4
simplex-chat/simplexmq:v5.4.0-beta.3
simplex-chat/simplexmq:v5.4.0-beta.2
simplex-chat/simplexmq:v5.4.0-beta.1
simplex-chat/simplexmq:v5.4.0-beta.0
simplex-chat/simplexmq:v5.3.0
simplex-chat/simplexmq:v5.3.0-beta.0
simplex-chat/simplexmq:v5.2.1
simplex-chat/simplexmq:v5.2.0
simplex-chat/simplexmq:v5.1.3
simplex-chat/simplexmq:v5.1.2
simplex-chat/simplexmq:v5.1.1
simplex-chat/simplexmq:v5.1.0
simplex-chat/simplexmq:v5.0.0
simplex-chat/simplexmq:v5.0.0-rc.0
simplex-chat/simplexmq:v5.0.0-beta.5
simplex-chat/simplexmq:v5.0.0-beta.4
simplex-chat/simplexmq:v5.0.0-beta.3
simplex-chat/simplexmq:v5.0.0-beta.2
simplex-chat/simplexmq:v5.0.0-beta.1
simplex-chat/simplexmq:v5.0.0-beta.0
simplex-chat/simplexmq:v4.4.1
simplex-chat/simplexmq:v4.4.0
simplex-chat/simplexmq:v4.3.1
simplex-chat/simplexmq:v4.3.0
simplex-chat/simplexmq:v4.2.3
simplex-chat/simplexmq:v4.2.2
simplex-chat/simplexmq:v4.2.1
simplex-chat/simplexmq:v4.2.0
simplex-chat/simplexmq:v4.1.0
simplex-chat/simplexmq:v4.0.0
simplex-chat/simplexmq:v3.4.0
simplex-chat/simplexmq:v3.3.1-beta.3
simplex-chat/simplexmq:v3.3.1-beta.1
simplex-chat/simplexmq:v3.3.1-beta.0
simplex-chat/simplexmq:v3.3.0
simplex-chat/simplexmq:v3.2.0
simplex-chat/simplexmq:v3.1.3
simplex-chat/simplexmq:v3.1.2
simplex-chat/simplexmq:v3.1.1
simplex-chat/simplexmq:v3.1.0
simplex-chat/simplexmq:v3.0.1
simplex-chat/simplexmq:v3.0.0
simplex-chat/simplexmq:v3.0.0-rc.1
simplex-chat/simplexmq:v3.0.0-rc.0
simplex-chat/simplexmq:v3.0.0-beta.4
simplex-chat/simplexmq:v3.0.0-beta.3
simplex-chat/simplexmq:v3.0.0-beta.2
simplex-chat/simplexmq:v2.3.1
simplex-chat/simplexmq:v2.3.0
simplex-chat/simplexmq:v2.2.1
simplex-chat/simplexmq:v2.2.0
simplex-chat/simplexmq:v2.1.1
simplex-chat/simplexmq:v2.1.0
simplex-chat/simplexmq:v2.0.0
simplex-chat/simplexmq:v1.1.0
simplex-chat/simplexmq:v1.0.3
simplex-chat/simplexmq:v1.0.2
simplex-chat/simplexmq:v1.0.1
simplex-chat/simplexmq:v1.0.0
simplex-chat/simplexmq:v0.5.2
simplex-chat/simplexmq:v0.5.1
simplex-chat/simplexmq:v0.5.0
simplex-chat/simplexmq:v0.4.1
simplex-chat/simplexmq:v0.4.0
simplex-chat/simplexmq:v0.3.2
simplex-chat/simplexmq:v0.3.1
simplex-chat/simplexmq:v0.3.0
simplex-chat/simplexmq:v0.2.0
simplex-chat/simplexmq:v0.1.0
...
compare: simplex-chat/simplexmq:ep/rfc-delivery-workers
simplex-chat/simplexmq:ep/parallel-tests
simplex-chat/simplexmq:master
simplex-chat/simplexmq:names
simplex-chat/simplexmq:nd/net-socket-timeout
simplex-chat/simplexmq:nd/socks-reconnect-backoff
simplex-chat/simplexmq:sh/queue-map-leak
simplex-chat/simplexmq:nd/net-close-clients
simplex-chat/simplexmq:nd/net-reconnect-all-epoch
simplex-chat/simplexmq:nd/net-retry-epoch
simplex-chat/simplexmq:nd/net-session-races
simplex-chat/simplexmq:sh/corrid-nonce
simplex-chat/simplexmq:sh/low-order-dh
simplex-chat/simplexmq:sh/fix-leak
simplex-chat/simplexmq:sh/fix-proxy-mesh
simplex-chat/simplexmq:sh/fix-conn-mem
simplex-chat/simplexmq:nd/index-active-sub-conns
simplex-chat/simplexmq:sh/fix-proxy-leak
simplex-chat/simplexmq:sh/fix-ntf-store
simplex-chat/simplexmq:sh/fix-rslv-fanout
simplex-chat/simplexmq:ep/disable-kem
simplex-chat/simplexmq:ep/usage-stats
simplex-chat/simplexmq:ep/pow
simplex-chat/simplexmq:sh/resolver-error-logs
simplex-chat/simplexmq:ed-asriyan/xftp-send-link
simplex-chat/simplexmq:ab/names-owned-by
simplex-chat/simplexmq:sh/ntf-investigate
simplex-chat/simplexmq:sh/debug
simplex-chat/simplexmq:ab/snrc-resolver-expiry-and-availability
simplex-chat/simplexmq:ab/resolver-labelhash-query
simplex-chat/simplexmq:sh/ntf-performance
simplex-chat/simplexmq:ab/snrc-resolver-owned-by
simplex-chat/simplexmq:ep/log-alpn
simplex-chat/simplexmq:ep/split-apns
simplex-chat/simplexmq:stable
simplex-chat/simplexmq:ep/conc-msgs
simplex-chat/simplexmq:ep/optimize
simplex-chat/simplexmq:ep/smp-web-agent
simplex-chat/simplexmq:ep/spec-2
simplex-chat/simplexmq:smp-web
simplex-chat/simplexmq:rcv-services
simplex-chat/simplexmq:sh/debug-rcv
simplex-chat/simplexmq:ep/network-error
simplex-chat/simplexmq:revert-1750-f/relay-link-key
simplex-chat/simplexmq:sh/slow-queries
simplex-chat/simplexmq:sh/memory
simplex-chat/simplexmq:f/e2e-test-relay-failed
simplex-chat/simplexmq:sh/xftp-npm
simplex-chat/simplexmq:sh/xftp-web-pages
simplex-chat/simplexmq:wp/test_wp
simplex-chat/simplexmq:ep/wp-test
simplex-chat/simplexmq:dev-wp
simplex-chat/simplexmq:p1gp1g-webpush_requests
simplex-chat/simplexmq:unified-push
simplex-chat/simplexmq:ep/agent-opt-subs-3
simplex-chat/simplexmq:ep/upgrade-hackage
simplex-chat/simplexmq:sh/reproduce-script
simplex-chat/simplexmq:f/postgres-log-error
simplex-chat/simplexmq:ep/delivered-metrics-6408
simplex-chat/simplexmq:ep/delivered-metrics-6407
simplex-chat/simplexmq:ep/optimize-server
simplex-chat/simplexmq:sh/expr
simplex-chat/simplexmq:ep/recover-journal
simplex-chat/simplexmq:_archived-ep/agent-rejection
simplex-chat/simplexmq:ep/remove-empty-journals-test
simplex-chat/simplexmq:ep/qj-rename
simplex-chat/simplexmq:queue-journals
simplex-chat/simplexmq:ep/disable-background
simplex-chat/simplexmq:ep/rfc-cluster
simplex-chat/simplexmq:ep/remove-strictdata
simplex-chat/simplexmq:f/android-cmd-err-context
simplex-chat/simplexmq:ep/smp-one-map
simplex-chat/simplexmq:ab/info-tables
simplex-chat/simplexmq:ab/tls-2
simplex-chat/simplexmq:f/rfc-ntf-3
simplex-chat/simplexmq:f/ntf-logs
simplex-chat/simplexmq:f/ntf-batch-measure
simplex-chat/simplexmq:av/added-logs-to-pq
simplex-chat/simplexmq:_archived-queue-blobs
simplex-chat/simplexmq:ep/end-stats-2
simplex-chat/simplexmq:ep/less-stm
simplex-chat/simplexmq:ab/bench-target
simplex-chat/simplexmq:ab/pclient-disconnected
simplex-chat/simplexmq:f/reconnect-servers
simplex-chat/simplexmq:ep/known-servers
simplex-chat/simplexmq:ep/fc-rotate-connection
simplex-chat/simplexmq:ab/measure
simplex-chat/simplexmq:ab/async-subs
simplex-chat/simplexmq:ab/bench-tweetnacl
simplex-chat/simplexmq:ab/nacl
simplex-chat/simplexmq:ep/log-events
simplex-chat/simplexmq:ep/disable-wait-network
simplex-chat/simplexmq:ab/queue-store
simplex-chat/simplexmq:ab/track-client-subs
simplex-chat/simplexmq:ab/check-session
simplex-chat/simplexmq:ab/send-timeout
simplex-chat/simplexmq:ab/proxy-errors
simplex-chat/simplexmq:ab/socks-connect-timeout
simplex-chat/simplexmq:ab/hspec-deadline
simplex-chat/simplexmq:ep/proxy-client-server
simplex-chat/simplexmq:ab/lazy-bs
simplex-chat/simplexmq:ab/atomically-blocked
simplex-chat/simplexmq:ab/track-acks
simplex-chat/simplexmq:ep/test-ntf
simplex-chat/simplexmq:ab/mlock
simplex-chat/simplexmq:f/register-return-srv
simplex-chat/simplexmq:ep/delivery-wip
simplex-chat/simplexmq:ep/rfc-delivery-workers
simplex-chat/simplexmq:ep/builder-2
simplex-chat/simplexmq:ep/batch-5
simplex-chat/simplexmq:master-ghc8107
simplex-chat/simplexmq:ep/journal-mode-wal
simplex-chat/simplexmq:ab/sntrup761-unhaskell
simplex-chat/simplexmq:f/files-tests
simplex-chat/simplexmq:ep/test-coverage
simplex-chat/simplexmq:f/xftp-non-tmp-error
simplex-chat/simplexmq:f/xftp-retry-improvements
simplex-chat/simplexmq:ep/stress-test
simplex-chat/simplexmq:ep/fix-hanging-test
simplex-chat/simplexmq:ep/rfc-rotation
simplex-chat/simplexmq:ep/retry-ack
simplex-chat/simplexmq:ep/semaphore-experiment
simplex-chat/simplexmq:ep/tcp-keep-alive-empty
simplex-chat/simplexmq:f/server-ips
simplex-chat/simplexmq:e/postgres-poc
simplex-chat/simplexmq:e/readme-servers
simplex-chat/simplexmq:e/postgres-poc-fork
simplex-chat/simplexmq:legacy
simplex-chat/simplexmq:v5-ghc844
simplex-chat/simplexmq:v7.1.0-beta.3
simplex-chat/simplexmq:v7.1.0-beta.2
simplex-chat/simplexmq:v7.1.0-beta.1
simplex-chat/simplexmq:v7.1.0-beta.0
simplex-chat/simplexmq:v7.0.1
simplex-chat/simplexmq:v7.0.0
simplex-chat/simplexmq:v7.0.0-beta.3
simplex-chat/simplexmq:v7.0.0-beta.2
simplex-chat/simplexmq:v7.0.0-beta.1
simplex-chat/simplexmq:v7.0.0-beta.0
simplex-chat/simplexmq:v6.5.2
simplex-chat/simplexmq:v6.5.0
simplex-chat/simplexmq:v6.5.0-beta.8
simplex-chat/simplexmq:v6.5.0-beta.7
simplex-chat/simplexmq:v6.5.0-beta.6
simplex-chat/simplexmq:v6.5.0-beta.5
simplex-chat/simplexmq:v6.5.0-beta.4
simplex-chat/simplexmq:v6.5.0-beta.3
simplex-chat/simplexmq:v6.5.0-beta.2
simplex-chat/simplexmq:v6.5.0-beta.1
simplex-chat/simplexmq:v6.4.5
simplex-chat/simplexmq:v6.4.5-beta.0
simplex-chat/simplexmq:v6.4.4
simplex-chat/simplexmq:v6.4.3
simplex-chat/simplexmq:v6.4.2
simplex-chat/simplexmq:v6.4.1
simplex-chat/simplexmq:v6.4.0
simplex-chat/simplexmq:v6.4.0-beta.11
simplex-chat/simplexmq:v6.4.0-beta.10
simplex-chat/simplexmq:v6.4.0-beta.9
simplex-chat/simplexmq:v6.4.0-beta.8
simplex-chat/simplexmq:v6.4.0-beta.7
simplex-chat/simplexmq:v6.4.0-beta.6
simplex-chat/simplexmq:v6.4.0-beta.5
simplex-chat/simplexmq:v6.4.0-beta.4
simplex-chat/simplexmq:v6.4.0-beta.3
simplex-chat/simplexmq:v6.4.0-beta.1
simplex-chat/simplexmq:v6.4.0-beta.0
simplex-chat/simplexmq:v6.3.2
simplex-chat/simplexmq:v6.3.1
simplex-chat/simplexmq:v6.3.0
simplex-chat/simplexmq:v6.3.0-beta.7
simplex-chat/simplexmq:v6.3.0-beta.6
simplex-chat/simplexmq:v6.3.0-beta.5
simplex-chat/simplexmq:v6.3.0-beta.4
simplex-chat/simplexmq:v6.3.0-beta.3
simplex-chat/simplexmq:v6.3.0-beta.2
simplex-chat/simplexmq:v6.3.0-beta.1
simplex-chat/simplexmq:v6.2.1
simplex-chat/simplexmq:v6.2.0
simplex-chat/simplexmq:v6.2.0-beta.4
simplex-chat/simplexmq:v6.2.0-beta.3
simplex-chat/simplexmq:v6.2.0-beta.2
simplex-chat/simplexmq:v6.2.0-beta.1
simplex-chat/simplexmq:v6.1.3
simplex-chat/simplexmq:v6.1.2
simplex-chat/simplexmq:v6.1.1
simplex-chat/simplexmq:v6.1.0
simplex-chat/simplexmq:v6.1.0-beta.6
simplex-chat/simplexmq:v6.1.0-beta.5
simplex-chat/simplexmq:v6.1.0-beta.4
simplex-chat/simplexmq:v6.0.6
simplex-chat/simplexmq:v6.1.0-beta.2
simplex-chat/simplexmq:v6.1.0-beta.1
simplex-chat/simplexmq:v6.0.5
simplex-chat/simplexmq:v6.1.0-beta.0
simplex-chat/simplexmq:v6.0.4
simplex-chat/simplexmq:v6.0.3
simplex-chat/simplexmq:v6.0.2
simplex-chat/simplexmq:v6.0.1
simplex-chat/simplexmq:v6.0.0
simplex-chat/simplexmq:v6.0.0-beta.6
simplex-chat/simplexmq:v6.0.0-beta.4
simplex-chat/simplexmq:v6.0.0-beta.3
simplex-chat/simplexmq:v6.0.0-beta.1
simplex-chat/simplexmq:v5.8.2
simplex-chat/simplexmq:v5.8.1
simplex-chat/simplexmq:v5.8.0
simplex-chat/simplexmq:v5.8.0-beta.6
simplex-chat/simplexmq:v5.8.0-beta.5
simplex-chat/simplexmq:v5.8.0-beta.4
simplex-chat/simplexmq:v5.8.0-beta.3
simplex-chat/simplexmq:v5.7.5
simplex-chat/simplexmq:v5.8.0-beta.2
simplex-chat/simplexmq:v5.8.0-beta.1
simplex-chat/simplexmq:v5.7.4
simplex-chat/simplexmq:v5.8.0-beta.0
simplex-chat/simplexmq:v5.7.3
simplex-chat/simplexmq:v5.7.2
simplex-chat/simplexmq:v5.7.1
simplex-chat/simplexmq:v5.7.0
simplex-chat/simplexmq:v5.7.0-beta.2
simplex-chat/simplexmq:v5.7.0-beta.1
simplex-chat/simplexmq:v5.7.0-beta.0
simplex-chat/simplexmq:v5.6.2
simplex-chat/simplexmq:v5.6.2-beta.1
simplex-chat/simplexmq:v5.6.2-beta.0
simplex-chat/simplexmq:v5.6.1
simplex-chat/simplexmq:v5.6.0
simplex-chat/simplexmq:v5.6.0-beta.3
simplex-chat/simplexmq:v5.6.0-beta.2
simplex-chat/simplexmq:v5.6.0-beta.1
simplex-chat/simplexmq:v5.6.0-beta.0
simplex-chat/simplexmq:v5.5.3
simplex-chat/simplexmq:v5.5.2
simplex-chat/simplexmq:v5.5.1
simplex-chat/simplexmq:v5.5.1-beta.0
simplex-chat/simplexmq:v5.5.0
simplex-chat/simplexmq:v5.5.0-beta.5
simplex-chat/simplexmq:v5.5.0-beta.4
simplex-chat/simplexmq:v5.5.0-beta.3
simplex-chat/simplexmq:v5.5.0-beta.2
simplex-chat/simplexmq:v5.5.0-beta.0
simplex-chat/simplexmq:v5.4.0
simplex-chat/simplexmq:v5.4.0-beta.6
simplex-chat/simplexmq:v5.4.0-beta.4
simplex-chat/simplexmq:v5.4.0-beta.3
simplex-chat/simplexmq:v5.4.0-beta.2
simplex-chat/simplexmq:v5.4.0-beta.1
simplex-chat/simplexmq:v5.4.0-beta.0
simplex-chat/simplexmq:v5.3.0
simplex-chat/simplexmq:v5.3.0-beta.0
simplex-chat/simplexmq:v5.2.1
simplex-chat/simplexmq:v5.2.0
simplex-chat/simplexmq:v5.1.3
simplex-chat/simplexmq:v5.1.2
simplex-chat/simplexmq:v5.1.1
simplex-chat/simplexmq:v5.1.0
simplex-chat/simplexmq:v5.0.0
simplex-chat/simplexmq:v5.0.0-rc.0
simplex-chat/simplexmq:v5.0.0-beta.5
simplex-chat/simplexmq:v5.0.0-beta.4
simplex-chat/simplexmq:v5.0.0-beta.3
simplex-chat/simplexmq:v5.0.0-beta.2
simplex-chat/simplexmq:v5.0.0-beta.1
simplex-chat/simplexmq:v5.0.0-beta.0
simplex-chat/simplexmq:v4.4.1
simplex-chat/simplexmq:v4.4.0
simplex-chat/simplexmq:v4.3.1
simplex-chat/simplexmq:v4.3.0
simplex-chat/simplexmq:v4.2.3
simplex-chat/simplexmq:v4.2.2
simplex-chat/simplexmq:v4.2.1
simplex-chat/simplexmq:v4.2.0
simplex-chat/simplexmq:v4.1.0
simplex-chat/simplexmq:v4.0.0
simplex-chat/simplexmq:v3.4.0
simplex-chat/simplexmq:v3.3.1-beta.3
simplex-chat/simplexmq:v3.3.1-beta.1
simplex-chat/simplexmq:v3.3.1-beta.0
simplex-chat/simplexmq:v3.3.0
simplex-chat/simplexmq:v3.2.0
simplex-chat/simplexmq:v3.1.3
simplex-chat/simplexmq:v3.1.2
simplex-chat/simplexmq:v3.1.1
simplex-chat/simplexmq:v3.1.0
simplex-chat/simplexmq:v3.0.1
simplex-chat/simplexmq:v3.0.0
simplex-chat/simplexmq:v3.0.0-rc.1
simplex-chat/simplexmq:v3.0.0-rc.0
simplex-chat/simplexmq:v3.0.0-beta.4
simplex-chat/simplexmq:v3.0.0-beta.3
simplex-chat/simplexmq:v3.0.0-beta.2
simplex-chat/simplexmq:v2.3.1
simplex-chat/simplexmq:v2.3.0
simplex-chat/simplexmq:v2.2.1
simplex-chat/simplexmq:v2.2.0
simplex-chat/simplexmq:v2.1.1
simplex-chat/simplexmq:v2.1.0
simplex-chat/simplexmq:v2.0.0
simplex-chat/simplexmq:v1.1.0
simplex-chat/simplexmq:v1.0.3
simplex-chat/simplexmq:v1.0.2
simplex-chat/simplexmq:v1.0.1
simplex-chat/simplexmq:v1.0.0
simplex-chat/simplexmq:v0.5.2
simplex-chat/simplexmq:v0.5.1
simplex-chat/simplexmq:v0.5.0
simplex-chat/simplexmq:v0.4.1
simplex-chat/simplexmq:v0.4.0
simplex-chat/simplexmq:v0.3.2
simplex-chat/simplexmq:v0.3.1
simplex-chat/simplexmq:v0.3.0
simplex-chat/simplexmq:v0.2.0
simplex-chat/simplexmq:v0.1.0
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b2a119390c | rfc: optimize and reduce traffic from delivery workers |
1 changed files with 15 additions and 0 deletions
@@ -0,0 +1,15 @@
|
||||
# Optimizing traffic from delivery workers
|
||||
|
||||
## Problem
|
||||
|
||||
Currently we create a separate delivery worker for each queue. The historic reason for that is that in the past message queue was in client memory, initialized from the database on client start, and each failed message is retried on temporary errors. Temporary errors can be of two types: server availability (network error, server is down, etc.) and queue quota exceeded (that will become available only once the recipient receives the messages or they expire on the server). While the latter error is per queue, which is the reason to have a separate worker for each queue - not to block delivery to other queues on the same transport session - the former would be consistent for the session.
|
||||
|
||||
Having multiple workers per session (in some rare cases, there can be hundreds of workers per session) creates a lot of contention for the database and also too much traffic if the network or server is slow - concurrent workers sending to the same session can create a lot of traffic, particularly when the server is overloaded, as the clients will be failing on timeouts, yet sending the requests and ignoring the responses, potentially resulting in duplicate deliveries (TODO: measure it), thus creating even more traffic for recipients as well.
|
||||
|
||||
## Solution
|
||||
|
||||
As the recent changes in message delivery moved the message delivery queues to the database, when the worker reads the next message ID to deliver from the database (and not only its data, as before), we could optimize it further by having a single worker per transport session that would treat quota exceeded errors differently from network and timeout errors.
|
||||
|
||||
When queue quota is exceeded, the sending queue will be marked with `deliver_after` timestamp, and messages that need to be delivered to this queue would not be read by the worker until that timestamp is reached. When network or timeout error happens, the message will be retried up to N times (probably 3 to 5 to avoid the risk of message-specific errors being misinterpreted as network errors), after that the whole queue will be marked with `deliver_after` timestamp with smaller interval than in case of quota exceeded error but larger than between retries of the single message. Exponential back off would still be used.
|
||||
|
||||
The benefits of this change could include reduced traffic, battery usage, server load and spikes of server load. It can also reduce the complexity and remove the need for dual retry intervals that are currently set per message - longer delays will be handled on the queue level.
|
||||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.