Round 368: MQTT ext, AMQP ext, NSQ ext, RabbitMQ/ActiveMQ ext (20 commands)
ober
c6480958d1b1f7f133f420cdf7c9bf5b9a6e40e6
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 368 — MQTT ext, AMQP ext, NSQ ext, RabbitMQ/ActiveMQ ext + +| Feature | Emacs | jemacs | Status | +|---|---|---|---| +| MQTT retained messages | — | `mqtt-retain` | :orange_circle: Scaffolded | +| MQTT last will config | — | `mqtt-will` | :orange_circle: Scaffolded | +| MQTT QoS level | — | `mqtt-qos` | :orange_circle: Scaffolded | +| MQTT bridge config | — | `mqtt-bridge` | :orange_circle: Scaffolded | +| AMQP publish | — | `amqp-publish` | :orange_circle: Scaffolded | +| AMQP consume | — | `amqp-consume` | :orange_circle: Scaffolded | +| AMQP declare queue | — | `amqp-declare` | :orange_circle: Scaffolded | +| AMQP bind queue | — | `amqp-bind` | :orange_circle: Scaffolded | +| Pulsar functions | — | `pulsar-functions` | :orange_circle: Scaffolded | +| Pulsar sinks | — | `pulsar-sinks` | :orange_circle: Scaffolded | +| NSQ publish | — | `nsq-publish` | :orange_circle: Scaffolded | +| NSQ consume | — | `nsq-consume` | :orange_circle: Scaffolded | +| NSQ list topics | — | `nsq-topics` | :orange_circle: Scaffolded | +| NSQ list channels | — | `nsq-channels` | :orange_circle: Scaffolded | +| RabbitMQ bindings | — | `rabbitmq-bindings` | :orange_circle: Scaffolded | +| RabbitMQ shovel | — | `rabbitmq-shovel` | :orange_circle: Scaffolded | +| RabbitMQ federation | — | `rabbitmq-federation` | :orange_circle: Scaffolded | +| RabbitMQ tracing | — | `rabbitmq-trace` | :orange_circle: Scaffolded | +| ActiveMQ queues | — | `activemq-queues` | :orange_circle: Scaffolded | +| ActiveMQ topics | — | `activemq-topics` | :orange_circle: Scaffolded | + ### Round 367 — OAuth ext, SAML ext, OIDC ext, Kerberos/PAM/NTLM ext | Feature | Emacs | jemacs | Status | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -26372,3 +26372,46 @@ (def (cmd-radius-status app) (let* ((echo (app-state-echo app))) (echo-message! echo "RADIUS: checking server status"))) + +;; Round 368 batch 2 — NSQ ext, RabbitMQ/ActiveMQ ext +(def (cmd-nsq-publish app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "NSQ topic: " + (lambda (topic) + (echo-message! echo (str "NSQ: publishing to " topic)))))) + +(def (cmd-nsq-consume app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "NSQ: consuming messages"))) + +(def (cmd-nsq-topics app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "NSQ: listing topics"))) + +(def (cmd-nsq-channels app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "NSQ: listing channels"))) + +(def (cmd-rabbitmq-bindings app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RabbitMQ: listing bindings"))) + +(def (cmd-rabbitmq-shovel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RabbitMQ: managing shovel"))) + +(def (cmd-rabbitmq-federation app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RabbitMQ: managing federation"))) + +(def (cmd-rabbitmq-trace app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RabbitMQ: enabling message tracing"))) + +(def (cmd-activemq-queues app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ActiveMQ: listing queues"))) + +(def (cmd-activemq-topics app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ActiveMQ: listing topics"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -27135,3 +27135,48 @@ (def (cmd-oidc-userinfo app) (let* ((echo (app-state-echo app))) (echo-message! echo "OIDC: fetching userinfo"))) + +;; Round 368 batch 1 — MQTT ext, AMQP ext +(def (cmd-mqtt-retain app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MQTT: managing retained messages"))) + +(def (cmd-mqtt-will app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MQTT: configuring last will and testament"))) + +(def (cmd-mqtt-qos app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MQTT: setting QoS level"))) + +(def (cmd-mqtt-bridge app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MQTT: configuring bridge connection"))) + +(def (cmd-amqp-publish app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Exchange/routing-key: " + (lambda (target) + (echo-message! echo (str "AMQP: publishing to " target)))))) + +(def (cmd-amqp-consume app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Queue name: " + (lambda (queue) + (echo-message! echo (str "AMQP: consuming from " queue)))))) + +(def (cmd-amqp-declare app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AMQP: declaring queue/exchange"))) + +(def (cmd-amqp-bind app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AMQP: binding queue to exchange"))) + +(def (cmd-pulsar-functions app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pulsar: listing functions"))) + +(def (cmd-pulsar-sinks app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pulsar: listing sinks"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -9178,4 +9178,26 @@ (register-command! 'radius-auth cmd-radius-auth) (register-command! 'radius-acct cmd-radius-acct) (register-command! 'radius-status cmd-radius-status) + + ;; Round 368 — MQTT ext, AMQP ext, NSQ ext, RabbitMQ/ActiveMQ ext + (register-command! 'mqtt-retain cmd-mqtt-retain) + (register-command! 'mqtt-will cmd-mqtt-will) + (register-command! 'mqtt-qos cmd-mqtt-qos) + (register-command! 'mqtt-bridge cmd-mqtt-bridge) + (register-command! 'amqp-publish cmd-amqp-publish) + (register-command! 'amqp-consume cmd-amqp-consume) + (register-command! 'amqp-declare cmd-amqp-declare) + (register-command! 'amqp-bind cmd-amqp-bind) + (register-command! 'pulsar-functions cmd-pulsar-functions) + (register-command! 'pulsar-sinks cmd-pulsar-sinks) + (register-command! 'nsq-publish cmd-nsq-publish) + (register-command! 'nsq-consume cmd-nsq-consume) + (register-command! 'nsq-topics cmd-nsq-topics) + (register-command! 'nsq-channels cmd-nsq-channels) + (register-command! 'rabbitmq-bindings cmd-rabbitmq-bindings) + (register-command! 'rabbitmq-shovel cmd-rabbitmq-shovel) + (register-command! 'rabbitmq-federation cmd-rabbitmq-federation) + (register-command! 'rabbitmq-trace cmd-rabbitmq-trace) + (register-command! 'activemq-queues cmd-activemq-queues) + (register-command! 'activemq-topics cmd-activemq-topics) )