Joseph Doherty
11e01b9026
perf: optimize MQTT cross-protocol path (0.30x → 0.78x Go)
Replace per-message async fire-and-forget with direct-buffer write loop
mirroring NatsClient pattern: SpinLock-guarded buffer append, double-
buffer swap, single WriteAsync per batch.
- MqttConnection: add _directBuf/_writeBuf + RunMqttWriteLoopAsync
- MqttConnection: add EnqueuePublishNoFlush (zero-alloc PUBLISH format)
- MqttPacketWriter: add WritePublishTo(Span<byte>) + MeasurePublish
- MqttTopicMapper: add NatsToMqttBytes with bounded ConcurrentDictionary
- MqttNatsClientAdapter: synchronous SendMessageNoFlush + SignalFlush
- Skip FlushAsync on plain TCP sockets (TCP auto-flushes)
2026-03-13 14:25:13 -04:00
..
2026-03-13 01:02:00 -04:00
2026-03-13 11:50:01 -04:00
2026-03-13 09:35:57 -04:00
2026-03-13 14:25:13 -04:00
2026-03-13 10:06:24 -04:00
2026-03-13 10:15:46 -04:00
2026-03-12 15:10:50 -04:00
2026-03-13 11:34:19 -04:00
2026-03-12 15:23:33 -04:00
2026-03-12 15:44:12 -04:00
2026-03-13 10:09:40 -04:00
2026-03-12 15:36:02 -04:00
2026-03-13 03:11:11 -04:00
2026-03-12 16:14:02 -04:00