diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/client.rpt index cc1a004b2b..5104bd0301 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -184,6 +185,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/server.rpt index 5023162a29..72b69fe1d9 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.abort.reconnect.non.clean.start/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -170,6 +171,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/client.rpt index b17bc2c18a..c9593137f9 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/server.rpt index 9761a45495..dc43780c91 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.sent.reset/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/client.rpt index 72f713d0a6..398eb8c11c 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -146,6 +147,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -157,6 +159,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -220,6 +223,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -234,6 +238,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/server.rpt index 16e4a117a9..1c0f47f779 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.client.takeover/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -146,6 +147,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -159,6 +161,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -212,6 +215,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -228,6 +232,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/client.rpt index d7238700bd..47d321a2c2 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -146,6 +147,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -159,6 +161,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -221,6 +224,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -233,6 +237,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/server.rpt index 12fd62832f..116f1da2d8 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.exists.clean.start/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -146,6 +147,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -160,6 +162,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -215,6 +218,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} @@ -229,6 +233,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/client.rpt index 74a4d2c97d..232d3145da 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/server.rpt index 1f89f2850f..a8decf49d2 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.group.server.sent.reset/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/client.rpt index 582dbc7019..0f6ef624fc 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/server.rpt index d21303343b..7e5a10c960 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.server.sent.reset/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/client.rpt index 0a954ff579..974063e3b7 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/server.rpt index 9db846d27a..4287d0b897 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe.via.session.state/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/client.rpt index cec9c6a266..c72a043fc6 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/server.rpt index eddaecfc04..41577d3aef 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.subscribe/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/client.rpt index b5ef64ebdc..868fe4a5c5 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/server.rpt index c1e0f2eddb..d8a4504d4d 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.after.subscribe/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/client.rpt index de5e39f5b4..55efc89d01 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/client.rpt @@ -37,6 +37,7 @@ write zilla:data.ext ${kafka:dataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/server.rpt index 2b4dc1b281..9cf6f4f03e 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/kafka/session.unsubscribe.via.session.state/server.rpt @@ -39,6 +39,7 @@ read zilla:data.ext ${kafka:matchDataEx() .deferred(0) .partition(-1, -1) .key("client-1#migrate") + .hashKey("client-1") .header("sender-id", "sender-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/client.rpt index 8429c220cc..58c446c456 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} @@ -70,8 +70,8 @@ connect await SESSION1_ABORTED write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/server.rpt index ad9ee2ce1f..1505e82923 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.abort.reconnect.non.clean.start/server.rpt @@ -23,8 +23,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} @@ -66,6 +66,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/client.rpt index a225126b73..628c0114fe 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/server.rpt index be2069e676..7afd1331b1 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.sent.reset/server.rpt @@ -22,8 +22,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/client.rpt index 5a8557316e..5e04d0a12f 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} @@ -68,8 +68,8 @@ connect await CONNECTED write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/server.rpt index b99a7bfec5..d4e46af36c 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.client.takeover/server.rpt @@ -22,6 +22,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} @@ -66,6 +67,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/client.rpt index ac9a831686..d5d7c03eec 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} @@ -73,8 +73,8 @@ connect await SESSION_READY write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/server.rpt index 496822dd17..f79622e0db 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.exists.clean.start/server.rpt @@ -22,6 +22,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} @@ -63,6 +64,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/client.rpt index c3f002620c..d45c693511 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/server.rpt index 1802b2d422..3a13bf2953 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.server.sent.reset/server.rpt @@ -22,8 +22,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/client.rpt index 640f139646..64a0c9dfe3 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/server.rpt index 15212eda0a..5a6717a9be 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe.via.session.state/server.rpt @@ -22,6 +22,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .expiry(1) .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/client.rpt index a16768f84d..1919464e2e 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/server.rpt index a75a7dff44..dc487358ef 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.subscribe/server.rpt @@ -22,8 +22,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/client.rpt index 7195298048..1d9b28e1ab 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/server.rpt index a15b6da914..9a66280e9e 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.after.subscribe/server.rpt @@ -23,8 +23,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/client.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/client.rpt index 21507a821f..936ce63059 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/client.rpt @@ -20,8 +20,8 @@ connect "zilla://streams/mqtt0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/server.rpt b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/server.rpt index b62e481f0d..0d80c4b9a7 100644 --- a/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/streams/mqtt/session.unsubscribe.via.session.state/server.rpt @@ -23,8 +23,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("client-1") .expiry(1) + .clientId("client-1") .build() .build()} diff --git a/incubator/binding-mqtt-kafka/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/kafka/internal/stream/MqttKafkaSessionFactory.java b/incubator/binding-mqtt-kafka/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/kafka/internal/stream/MqttKafkaSessionFactory.java index 4b38221c86..dc11a6bb44 100644 --- a/incubator/binding-mqtt-kafka/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/kafka/internal/stream/MqttKafkaSessionFactory.java +++ b/incubator/binding-mqtt-kafka/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/kafka/internal/stream/MqttKafkaSessionFactory.java @@ -311,7 +311,7 @@ private void onMqttData( .timestamp(now().toEpochMilli()) .partition(p -> p.partitionId(-1).partitionOffset(-1)) .key(b -> b.length(clientId.length()) - .value(clientId.value(), 0, clientId.length()))) + .value(clientId.value(), 0, clientId.length()))) .build(); if (sessionState != null) @@ -797,6 +797,8 @@ protected void sendMigrateSignal(long authorization, long traceId) .partition(p -> p.partitionId(-1).partitionOffset(-1)) .key(b -> b.length(delegate.clientIdMigrate.length()) .value(delegate.clientIdMigrate.value(), 0, delegate.clientIdMigrate.length())) + .hashKey(b -> b.length(delegate.clientId.length()) + .value(delegate.clientId.value(), 0, delegate.clientId.length())) .headersItem(c -> c.nameLen(SENDER_ID_NAME.length()) .name(SENDER_ID_NAME.value(), 0, SENDER_ID_NAME.length()) .valueLen(delegate.sessionId.length()) diff --git a/incubator/binding-mqtt.spec/src/main/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctions.java b/incubator/binding-mqtt.spec/src/main/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctions.java index 697c73aa40..b1ef279da1 100644 --- a/incubator/binding-mqtt.spec/src/main/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctions.java +++ b/incubator/binding-mqtt.spec/src/main/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctions.java @@ -19,6 +19,7 @@ import java.nio.ByteBuffer; import java.util.Arrays; +import java.util.concurrent.ThreadLocalRandom; import java.util.function.Predicate; import org.agrona.DirectBuffer; @@ -30,12 +31,12 @@ import io.aklivity.zilla.specs.binding.mqtt.internal.types.Array32FW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttBinaryFW; -import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttEndReasonCode; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttMessageFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttPayloadFormat; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttPayloadFormatFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttPublishFlags; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttQoS; +import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttSessionFlags; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttSessionStateFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttSubscribeFlags; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttTopicFilterFW; @@ -44,13 +45,14 @@ import io.aklivity.zilla.specs.binding.mqtt.internal.types.Varuint32FW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttBeginExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttDataExFW; -import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttEndExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttExtensionKind; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttFlushExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttPublishBeginExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttPublishDataExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttResetExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSessionBeginExFW; +import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSessionDataExFW; +import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSessionDataKind; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSubscribeBeginExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSubscribeDataExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttSubscribeFlushExFW; @@ -99,12 +101,6 @@ public static MqttFlushExBuilder flushEx() return new MqttFlushExBuilder(); } - @Function - public static MqttEndExBuilder endEx() - { - return new MqttEndExBuilder(); - } - @Function public static MqttResetExBuilder resetEx() { @@ -117,6 +113,24 @@ public static MqttSessionStateBuilder session() return new MqttSessionStateBuilder(); } + @Function + public static MqttWillMessageBuilder will() + { + return new MqttWillMessageBuilder(); + } + + @Function + public static byte[] randomBytes( + int length) + { + byte[] bytes = new byte[length]; + for (int i = 0; i < length; i++) + { + bytes[i] = (byte) ThreadLocalRandom.current().nextInt(0x100); + } + return bytes; + } + public static final class MqttBeginExBuilder { private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[1024 * 8]); @@ -190,30 +204,29 @@ public MqttSessionBeginExBuilder expiry( return this; } - public MqttSessionBeginExBuilder serverReference( - String serverReference) + public MqttSessionBeginExBuilder serverRef( + String serverRef) { - sessionBeginExRW.serverReference(serverReference); + sessionBeginExRW.serverRef(serverRef); return this; } - public MqttWillMessageBuilder will() + public MqttSessionBeginExBuilder flags( + String... flagNames) { - return new MqttWillMessageBuilder(this); + int flags = Arrays.stream(flagNames) + .mapToInt(flag -> 1 << MqttSessionFlags.valueOf(flag).value()) + .reduce(0, (a, b) -> a | b); + sessionBeginExRW.flags(flags); + return this; } public MqttBeginExBuilder build() { - final MqttSessionBeginExFW subscribeBeginEx = sessionBeginExRW.build(); - beginExRO.wrap(writeBuffer, 0, subscribeBeginEx.limit()); + final MqttSessionBeginExFW sessionBeginEx = sessionBeginExRW.build(); + beginExRO.wrap(writeBuffer, 0, sessionBeginEx.limit()); return MqttBeginExBuilder.this; } - - private void willMessage( - MqttMessageFW willMessage) - { - sessionBeginExRW.will(willMessage); - } } public final class MqttSubscribeBeginExBuilder @@ -345,6 +358,13 @@ public MqttDataExBuilder.MqttPublishDataExBuilder publish() return new MqttDataExBuilder.MqttPublishDataExBuilder(); } + public MqttDataExBuilder.MqttSessionDataExBuilder session() + { + dataExRW.kind(MqttExtensionKind.SESSION.value()); + + return new MqttDataExBuilder.MqttSessionDataExBuilder(); + } + public byte[] build() { final MqttDataExFW dataEx = dataExRO; @@ -530,8 +550,32 @@ public MqttPublishDataExBuilder userProperty( public MqttDataExBuilder build() { - final MqttPublishDataExFW publishBeginEx = publishDataExRW.build(); - dataExRO.wrap(writeBuffer, 0, publishBeginEx.limit()); + final MqttPublishDataExFW publishDataEx = publishDataExRW.build(); + dataExRO.wrap(writeBuffer, 0, publishDataEx.limit()); + return MqttDataExBuilder.this; + } + } + + public final class MqttSessionDataExBuilder + { + private final MqttSessionDataExFW.Builder sessionDataExRW = new MqttSessionDataExFW.Builder(); + + private MqttSessionDataExBuilder() + { + sessionDataExRW.wrap(writeBuffer, MqttBeginExFW.FIELD_OFFSET_SESSION, writeBuffer.capacity()); + } + + public MqttSessionDataExBuilder kind( + String kind) + { + sessionDataExRW.kind(k -> k.set(MqttSessionDataKind.valueOf(kind))); + return this; + } + + public MqttDataExBuilder build() + { + final MqttSessionDataExFW sessionDataEx = sessionDataExRW.build(); + dataExRO.wrap(writeBuffer, 0, sessionDataEx.limit()); return MqttDataExBuilder.this; } } @@ -612,39 +656,6 @@ public byte[] build() } } - public static final class MqttEndExBuilder - { - private final MqttEndExFW.Builder endExRW; - - private MqttEndExBuilder() - { - MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[1024 * 8]); - this.endExRW = new MqttEndExFW.Builder().wrap(writeBuffer, 0, writeBuffer.capacity()); - } - - public MqttEndExBuilder typeId( - int typeId) - { - endExRW.typeId(typeId); - return this; - } - - public MqttEndExBuilder reason( - String reason) - { - endExRW.reasonCode(r -> r.set(MqttEndReasonCode.valueOf(reason))); - return this; - } - - public byte[] build() - { - final MqttEndExFW endEx = endExRW.build(); - final byte[] array = new byte[endEx.sizeof()]; - endEx.buffer().getBytes(endEx.offset(), array); - return array; - } - } - public static final class MqttResetExBuilder { private final MqttResetExFW.Builder resetExRW; @@ -662,10 +673,10 @@ public MqttResetExBuilder typeId( return this; } - public MqttResetExBuilder serverReference( - String serverReference) + public MqttResetExBuilder serverRef( + String serverRef) { - resetExRW.serverReference(serverReference); + resetExRW.serverRef(serverRef); return this; } @@ -729,11 +740,9 @@ public byte[] build() public static final class MqttWillMessageBuilder { private final MqttMessageFW.Builder willMessageRW = new MqttMessageFW.Builder(); - private final MqttBeginExBuilder.MqttSessionBeginExBuilder beginExBuilder; - private MqttWillMessageBuilder(MqttBeginExBuilder.MqttSessionBeginExBuilder beginExBuilder) + private MqttWillMessageBuilder() { - this.beginExBuilder = beginExBuilder; MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[1024 * 8]); willMessageRW.wrap(writeBuffer, 0, writeBuffer.capacity()); } @@ -833,10 +842,12 @@ public MqttWillMessageBuilder payloadBytes( return this; } - public MqttBeginExBuilder.MqttSessionBeginExBuilder build() + public byte[] build() { - beginExBuilder.willMessage(willMessageRW.build()); - return beginExBuilder; + final MqttMessageFW willMessage = willMessageRW.build(); + final byte[] array = new byte[willMessage.sizeof()]; + willMessage.buffer().getBytes(willMessage.offset(), array); + return array; } } @@ -1093,9 +1104,9 @@ private boolean matchFilters( public final class MqttSessionBeginExMatcherBuilder { private String16FW clientId; - private String16FW serverReference; + private String16FW serverRef; private Integer expiry; - private MqttWillMessageMatcherBuilder willMessageMatcher; + private Integer flags; private MqttSessionBeginExMatcherBuilder() { @@ -1115,17 +1126,20 @@ public MqttSessionBeginExMatcherBuilder expiry( return this; } - public MqttSessionBeginExMatcherBuilder serverReference( - String serverReference) + public MqttSessionBeginExMatcherBuilder serverRef( + String serverRef) { - this.serverReference = new String16FW(serverReference); + this.serverRef = new String16FW(serverRef); return this; } - public MqttWillMessageMatcherBuilder will() + public MqttSessionBeginExMatcherBuilder flags( + String... flagNames) { - this.willMessageMatcher = new MqttWillMessageMatcherBuilder(); - return willMessageMatcher; + this.flags = Arrays.stream(flagNames) + .mapToInt(flag -> 1 << MqttSessionFlags.valueOf(flag).value()) + .reduce(0, (a, b) -> a | b); + return this; } public MqttBeginExMatcherBuilder build() @@ -1137,11 +1151,10 @@ private boolean match( MqttBeginExFW beginEx) { final MqttSessionBeginExFW sessionBeginEx = beginEx.session(); - final MqttMessageFW willMessage = beginEx.session().will(); return matchClientId(sessionBeginEx) && matchExpiry(sessionBeginEx) && - matchServerReference(sessionBeginEx) && - (willMessageMatcher == null || willMessageMatcher.match(willMessage)); + matchFlags(sessionBeginEx) && + matchserverRef(sessionBeginEx); } private boolean matchClientId( @@ -1156,241 +1169,16 @@ private boolean matchExpiry( return expiry == null || expiry == sessionBeginEx.expiry(); } - private boolean matchServerReference( + private boolean matchFlags( final MqttSessionBeginExFW sessionBeginEx) { - return serverReference == null || serverReference.equals(sessionBeginEx.serverReference()); + return flags == null || flags == sessionBeginEx.flags(); } - public final class MqttWillMessageMatcherBuilder + private boolean matchserverRef( + final MqttSessionBeginExFW sessionBeginEx) { - private MqttBinaryFW.Builder correlationRW; - private final DirectBuffer correlationRO = new UnsafeBuffer(0, 0); - private MqttBinaryFW.Builder payloadRW; - private final DirectBuffer payloadRO = new UnsafeBuffer(0, 0); - private String16FW topic; - private Integer delay; - private Integer qos; - private Integer flags; - private Integer expiryInterval = -1; - private String16FW contentType; - private MqttPayloadFormatFW format; - private String16FW responseTopic; - private Array32FW.Builder userPropertiesRW; - - private MqttWillMessageMatcherBuilder() - { - } - - public MqttWillMessageMatcherBuilder topic( - String topic) - { - this.topic = new String16FW(topic); - return this; - } - - public MqttWillMessageMatcherBuilder delay( - int delay) - { - this.delay = delay; - return this; - } - - public MqttWillMessageMatcherBuilder qos( - String qos) - { - this.qos = MqttQoS.valueOf(qos).ordinal(); - return this; - } - - public MqttWillMessageMatcherBuilder flags( - String... flagNames) - { - int flags = Arrays.stream(flagNames) - .mapToInt(flag -> 1 << MqttPublishFlags.valueOf(flag).ordinal()) - .reduce(0, (a, b) -> a | b); - this.flags = flags; - return this; - } - - public MqttWillMessageMatcherBuilder expiryInterval( - int expiryInterval) - { - this.expiryInterval = expiryInterval; - return this; - } - - public MqttWillMessageMatcherBuilder contentType( - String contentType) - { - this.contentType = new String16FW(contentType); - return this; - } - - public MqttWillMessageMatcherBuilder format( - String format) - { - MqttPayloadFormatFW.Builder builder = - new MqttPayloadFormatFW.Builder().wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - this.format = builder.set(MqttPayloadFormat.valueOf(format)).build(); - return this; - } - - public MqttWillMessageMatcherBuilder responseTopic( - String topic) - { - this.responseTopic = new String16FW(topic); - return this; - } - - public MqttWillMessageMatcherBuilder correlation( - String correlation) - { - assert correlationRW == null; - correlationRW = new MqttBinaryFW.Builder().wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - - correlationRO.wrap(correlation.getBytes(UTF_8)); - correlationRW.bytes(correlationRO, 0, correlationRO.capacity()); - - return this; - } - - public MqttWillMessageMatcherBuilder correlationBytes( - byte[] correlation) - { - assert correlationRW == null; - correlationRW = new MqttBinaryFW.Builder().wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - - correlationRO.wrap(correlation); - correlationRW.bytes(correlationRO, 0, correlationRO.capacity()); - - return this; - } - - public MqttWillMessageMatcherBuilder userProperty( - String name, - String value) - { - if (userPropertiesRW == null) - { - this.userPropertiesRW = - new Array32FW.Builder<>(new MqttUserPropertyFW.Builder(), new MqttUserPropertyFW()) - .wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - } - userPropertiesRW.item(p -> p.key(name).value(value)); - return this; - } - - public MqttWillMessageMatcherBuilder payload( - String payload) - { - assert payloadRW == null; - payloadRW = new MqttBinaryFW.Builder().wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - - payloadRO.wrap(payload.getBytes(UTF_8)); - payloadRW.bytes(payloadRO, 0, payloadRO.capacity()); - - return this; - } - - public MqttWillMessageMatcherBuilder payloadBytes( - byte[] payload) - { - assert payloadRW == null; - payloadRW = new MqttBinaryFW.Builder().wrap(new UnsafeBuffer(new byte[1024]), 0, 1024); - - payloadRO.wrap(payload); - payloadRW.bytes(payloadRO, 0, payloadRO.capacity()); - - return this; - } - - public MqttSessionBeginExMatcherBuilder build() - { - return MqttSessionBeginExMatcherBuilder.this; - } - - private boolean match( - MqttMessageFW willMessage) - { - return matchTopic(willMessage) && - matchDelay(willMessage) && - matchQos(willMessage) && - matchFlags(willMessage) && - matchExpiryInterval(willMessage) && - matchContentType(willMessage) && - matchFormat(willMessage) && - matchResponseTopic(willMessage) && - matchCorrelation(willMessage) && - matchUserProperties(willMessage) && - matchPayload(willMessage); - } - - private boolean matchTopic( - final MqttMessageFW willMessage) - { - return topic == null || topic.equals(willMessage.topic()); - } - - private boolean matchDelay( - final MqttMessageFW willMessage) - { - return delay == null || delay == willMessage.delay(); - } - - private boolean matchQos( - final MqttMessageFW willMessage) - { - return qos == null || qos == willMessage.qos(); - } - - private boolean matchFlags( - final MqttMessageFW willMessage) - { - return flags == null || flags == willMessage.flags(); - } - - private boolean matchExpiryInterval( - final MqttMessageFW willMessage) - { - return expiryInterval == null || expiryInterval == willMessage.expiryInterval(); - } - - private boolean matchContentType( - final MqttMessageFW willMessage) - { - return contentType == null || contentType.equals(willMessage.contentType()); - } - - private boolean matchFormat( - final MqttMessageFW willMessage) - { - return format == null || format.equals(willMessage.format()); - } - - private boolean matchResponseTopic( - final MqttMessageFW willMessage) - { - return responseTopic == null || responseTopic.equals(willMessage.responseTopic()); - } - - private boolean matchCorrelation( - final MqttMessageFW willMessage) - { - return correlationRW == null || correlationRW.build().equals(willMessage.correlation()); - } - - private boolean matchUserProperties( - final MqttMessageFW willMessage) - { - return userPropertiesRW == null || userPropertiesRW.build().equals(willMessage.properties()); - } - - private boolean matchPayload( - final MqttMessageFW willMessage) - { - return payloadRW == null || payloadRW.build().equals(willMessage.payload()); - } + return serverRef == null || serverRef.equals(sessionBeginEx.serverRef()); } } } diff --git a/incubator/binding-mqtt.spec/src/main/resources/META-INF/zilla/mqtt.idl b/incubator/binding-mqtt.spec/src/main/resources/META-INF/zilla/mqtt.idl index b2e51a0efb..7265b549b3 100644 --- a/incubator/binding-mqtt.spec/src/main/resources/META-INF/zilla/mqtt.idl +++ b/incubator/binding-mqtt.spec/src/main/resources/META-INF/zilla/mqtt.idl @@ -15,6 +15,12 @@ */ scope mqtt { + enum MqttSessionFlags (uint8) + { + CLEAN_START(1), + WILL(2) + } + enum MqttSubscribeFlags (uint8) { SEND_RETAINED(0), @@ -42,13 +48,6 @@ scope mqtt SESSION(3) } - enum MqttEndReasonCode (uint8) - { - DISCONNECT(0), - KEEP_ALIVE_EXPIRY(1), - DISCONNECT_WITH_WILL(2) - } - enum MqttPayloadFormat { BINARY, @@ -114,10 +113,10 @@ scope mqtt struct MqttSessionBeginEx { - string16 clientId; + uint8 flags = 0; int32 expiry = 0; - string16 serverReference = null; - MqttMessage will; + string16 clientId; + string16 serverRef = null; } struct MqttSubscribeBeginEx @@ -137,6 +136,7 @@ scope mqtt { case 0: mqtt::stream::MqttPublishDataEx publish; case 1: mqtt::stream::MqttSubscribeDataEx subscribe; + case 2: mqtt::stream::MqttSessionDataEx session; } struct MqttSubscribeDataEx @@ -167,14 +167,20 @@ scope mqtt MqttUserProperty[] properties; } - struct MqttResetEx extends core::stream::Extension + enum MqttSessionDataKind { - string16 serverReference = null; + STATE, + WILL } - struct MqttEndEx extends core::stream::Extension + struct MqttSessionDataEx + { + MqttSessionDataKind kind; + } + + struct MqttResetEx extends core::stream::Extension { - MqttEndReasonCode reasonCode = DISCONNECT; + string16 serverRef = null; } union MqttFlushEx switch (uint8) extends core::stream::Extension diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/client.rpt index 72c682e759..ca638f0b15 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/server.rpt index 8a8d7a410a..93307a50fe 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.abort.reconnect.non.clean.start/server.rpt @@ -32,6 +32,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/client.rpt index 77f2824ab1..0b68e3386c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/client.rpt @@ -27,6 +27,13 @@ write zilla:begin.ext ${mqtt:beginEx() connected +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/server.rpt index 42a990e7c1..3f6dfd1e96 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.client.takeover/server.rpt @@ -32,6 +32,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/client.rpt index 7c06e2e3a0..28f707919e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/client.rpt @@ -21,8 +21,8 @@ connect "zilla://streams/app0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("one") .expiry(1) + .clientId("one") .build() .build()} connected diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/server.rpt index 113f780150..e4da874660 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.connect.with.session.expiry/server.rpt @@ -23,8 +23,8 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() - .clientId("one") .expiry(1) + .clientId("one") .build() .build()} connected diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/client.rpt index 1e1c2aed10..7bf3e9eb1d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -72,6 +79,7 @@ connect await SESSION_READY write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() + .flags("CLEAN_START") .clientId("client") .build() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/server.rpt index 07a9968ea5..4161f89687 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.exists.clean.start/server.rpt @@ -32,6 +32,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -66,6 +73,7 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .flags("CLEAN_START") .clientId("client") .build() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/client.rpt index e71aa48366..2e7698520a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/client.rpt @@ -22,7 +22,7 @@ write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() .clientId("client") - .serverReference("localhost:1883") + .serverRef("localhost:1883") .build() .build()} @@ -32,7 +32,7 @@ read zilla:data.empty read zilla:reset.ext ${mqtt:resetEx() .typeId(zilla:id("mqtt")) - .serverReference("localhost:1884") + .serverRef("localhost:1884") .build()} write aborted diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/server.rpt index d74bfdc289..41c25ac043 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.after.connack/server.rpt @@ -24,7 +24,7 @@ read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() .clientId("client") - .serverReference("localhost:1883") + .serverRef("localhost:1883") .build() .build()} @@ -35,7 +35,7 @@ write flush write zilla:reset.ext ${mqtt:resetEx() .typeId(zilla:id("mqtt")) - .serverReference("localhost:1884") + .serverRef("localhost:1884") .build()} read abort diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/client.rpt index 9b849f7b88..421ed4976a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/client.rpt @@ -22,7 +22,7 @@ write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() .clientId("client") - .serverReference("localhost:1883") + .serverRef("localhost:1883") .build() .build()} @@ -30,7 +30,7 @@ connected read zilla:reset.ext ${mqtt:resetEx() .typeId(zilla:id("mqtt")) - .serverReference("localhost:1884") + .serverRef("localhost:1884") .build()} write aborted diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/server.rpt index c80cf2a278..6e8b43130e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.server.redirect.before.connack/server.rpt @@ -24,7 +24,7 @@ read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() .clientId("client") - .serverReference("localhost:1883") + .serverRef("localhost:1883") .build() .build()} @@ -32,7 +32,7 @@ connected write zilla:reset.ext ${mqtt:resetEx() .typeId(zilla:id("mqtt")) - .serverReference("localhost:1884") + .serverRef("localhost:1884") .build()} read abort diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/client.rpt index 22d2e6529e..9ea94267e0 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -38,6 +45,13 @@ read ${mqtt:session() .subscription("sensor/one", 1) .build()} +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .subscription("sensor/two", 2) diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/server.rpt index 1f43fea32d..0e04154821 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe.multiple.isolated/server.rpt @@ -32,6 +32,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -41,6 +48,13 @@ write ${mqtt:session() .build()} write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .subscription("sensor/two", 2) diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/client.rpt index bf293f83a1..578940e7d5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/server.rpt index 0e78132b91..c5027bb198 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.subscribe/server.rpt @@ -32,6 +32,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/client.rpt index 200d21fc64..16cfaa112a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .subscription("sensor/two", 1) @@ -40,6 +47,13 @@ read ${mqtt:session() .subscription("sensor/two", 1) .build()} +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/server.rpt index 6243dda9e3..95ffcd3aaa 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe.deferred/server.rpt @@ -31,6 +31,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .subscription("sensor/two", 1) @@ -43,6 +50,13 @@ write ${mqtt:session() .build()} write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/client.rpt index a6cfebd9c9..8e7264694f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/client.rpt @@ -29,6 +29,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -37,6 +44,13 @@ read ${mqtt:session() .subscription("sensor/one", 1) .build()} +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/server.rpt index 8b8acf889c..f4a805c480 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.after.subscribe/server.rpt @@ -33,6 +33,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} @@ -42,6 +49,13 @@ write ${mqtt:session() .build()} write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/client.rpt index e7af77b53c..e49c39952f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/client.rpt @@ -30,6 +30,13 @@ connected read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + write ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/server.rpt index 87f98db3e8..1ac1e8f037 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.unsubscribe.via.session.state/server.rpt @@ -33,6 +33,13 @@ connected write zilla:data.empty write flush +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("STATE") + .build() + .build()} + read ${mqtt:session() .subscription("sensor/one", 1) .build()} diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/client.rpt similarity index 66% rename from incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/client.rpt rename to incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/client.rpt index 327eacf0dd..51937e1f9e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/client.rpt @@ -21,23 +21,27 @@ connect "zilla://streams/app0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() + .flags("WILL", "CLEAN_START") .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected -read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +write ${mqtt:will() + .topic("wills/one") + .format("TEXT") + .payload("client one session expired") + .build()} +write flush -write zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("DISCONNECT_WITH_WILL") - .build()} +read zilla:data.empty -write close -read closed +write abort diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/server.rpt similarity index 67% rename from incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/server.rpt rename to incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/server.rpt index 7fa2aa8b91..fb26a8d19a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.disconnect.with.will.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.abort/server.rpt @@ -23,24 +23,28 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .flags("WILL", "CLEAN_START") .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected + +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +read ${mqtt:will() + .topic("wills/one") + .format("TEXT") + .payload("client one session expired") + .build()} + write zilla:data.empty write flush -read zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("DISCONNECT_WITH_WILL") - .build()} - -read closed -write close +read aborted diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/client.rpt deleted file mode 100644 index 1a916fea30..0000000000 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/client.rpt +++ /dev/null @@ -1,43 +0,0 @@ -# -# Copyright 2021-2023 Aklivity Inc. -# -# Aklivity licenses this file to you under the Apache License, -# version 2.0 (the "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -connect "zilla://streams/app0" - option zilla:window 8192 - option zilla:transmission "duplex" - -write zilla:begin.ext ${mqtt:beginEx() - .typeId(zilla:id("mqtt")) - .session() - .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() - .build() - .build()} - -connected - -read zilla:data.empty - -write zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("KEEP_ALIVE_EXPIRY") - .build()} - -write close -read closed diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/server.rpt deleted file mode 100644 index 7d09b0668c..0000000000 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.no.ping.within.keep.alive/server.rpt +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright 2021-2023 Aklivity Inc. -# -# Aklivity licenses this file to you under the Apache License, -# version 2.0 (the "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -accept "zilla://streams/app0" - option zilla:window 8192 - option zilla:transmission "duplex" - -accepted - -read zilla:begin.ext ${mqtt:matchBeginEx() - .typeId(zilla:id("mqtt")) - .session() - .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() - .build() - .build()} - -connected - -write zilla:data.empty -write flush - -read zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("KEEP_ALIVE_EXPIRY") - .build()} - -read closed -write close diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/client.rpt index 108080f362..aed7e6d713 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/client.rpt @@ -21,23 +21,28 @@ connect "zilla://streams/app0" write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() + .flags("WILL", "CLEAN_START") .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected -read zilla:data.empty +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +write ${mqtt:will() + .topic("wills/one") + .format("TEXT") + .payload("client one session expired") + .build()} +write flush -write zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("DISCONNECT") - .build()} +read zilla:data.empty write close read closed diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/server.rpt index 94489d98e3..c570dab6f8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.normal.disconnect/server.rpt @@ -23,24 +23,29 @@ accepted read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() + .flags("WILL", "CLEAN_START") .clientId("one") - .will() - .topic("wills/one") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected + +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +read ${mqtt:will() + .topic("wills/one") + .format("TEXT") + .payload("client one session expired") + .build()} + write zilla:data.empty write flush -read zilla:end.ext ${mqtt:endEx() - .typeId(zilla:id("mqtt")) - .reason("DISCONNECT") - .build()} - read closed write close diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/client.rpt index ce41ce3f68..8129b052e5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/client.rpt @@ -22,15 +22,24 @@ write zilla:begin.ext ${mqtt:beginEx() .typeId(zilla:id("mqtt")) .session() .clientId("one") - .will() - .topic("wills/one") - .flags("RETAIN") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected +write zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +write ${mqtt:will() + .topic("wills/one") + .flags("RETAIN") + .format("TEXT") + .payload("client one session expired") + .build()} +write flush + read zilla:data.empty diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/server.rpt index 7cbdb75f40..8bf27cb120 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/application/session.will.message.retain/server.rpt @@ -24,16 +24,25 @@ read zilla:begin.ext ${mqtt:matchBeginEx() .typeId(zilla:id("mqtt")) .session() .clientId("one") - .will() - .topic("wills/one") - .flags("RETAIN") - .format("TEXT") - .payload("client one session expired") - .build() .build() .build()} connected + +read zilla:data.ext ${mqtt:dataEx() + .typeId(zilla:id("mqtt")) + .session() + .kind("WILL") + .build() + .build()} + +read ${mqtt:will() + .topic("wills/one") + .flags("RETAIN") + .format("TEXT") + .payload("client one session expired") + .build()} + write zilla:data.empty write flush diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/client.rpt index e2ce9cf455..0a09934b3b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/server.rpt index 6712eeeb12..becde28c74 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.abort/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/client.rpt index 17253032c3..01bae13c04 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/server.rpt index d1b4bfceb1..9f3305413e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.close/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/client.rpt index 939934e70b..21af97d26a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/server.rpt index 199ed1b4e5..11fe55d81a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/client.sent.reset/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/client.rpt index 58ca55aadf..d7944ac3e7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/client.rpt @@ -18,23 +18,23 @@ connect "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" option zilla:byteorder "network" - option zilla:byteorder "network" connected -write [0x10 0x18] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x05] # properties = maximum packet size - [0x27] 50 # maximum packet size = 50 - [0x00 0x06] "client" # client id +write [0x10 0x18] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x05] # properties = maximum packet size + [0x27] 50 # maximum packet size = 50 + [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 50 # maximum packet size = 50 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/server.rpt index fbc06eccd0..ad9b156305 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.exceeded/server.rpt @@ -18,24 +18,24 @@ accept "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" option zilla:byteorder "network" - option zilla:byteorder "network" accepted connected -read [0x10 0x18] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x05] # properties = maximum packet size - [0x27] 50 # maximum packet size = 50 - [0x00 0x06] "client" # client id +read [0x10 0x18] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x05] # properties = maximum packet size + [0x27] 50 # maximum packet size = 50 + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 50 # maximum packet size = 50 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/client.rpt index a65921d8e9..dddff030bd 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/client.rpt @@ -20,19 +20,20 @@ connect "zilla://streams/net0" connected -write [0x10 0x18] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x05] # properties = maximum packet size - [0x27 0x00 0x32] # maximum packet size = 50 - [0x00 0x06] "client" # client id +write [0x10 0x18] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x05] # properties = maximum packet size + [0x27 0x00 0x32] # maximum packet size = 50 + [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/server.rpt index 2821fc44de..b0bde6dc23 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.max.packet.size.server.ignores.exceeding.publish.packet/server.rpt @@ -21,19 +21,20 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x18] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x05] # properties = maximum packet size - [0x27 0x00 0x32] # maximum packet size = 50 - [0x00 0x06] "client" # client id +read [0x10 0x18] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x05] # properties = maximum packet size + [0x27 0x00 0x32] # maximum packet size = 50 + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/client.rpt index 18fcb7c354..e296e3aa88 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/client.rpt @@ -29,8 +29,9 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/server.rpt index 4499d83b64..badb4b4bdf 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.maximum.qos.0/server.rpt @@ -30,8 +30,9 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/client.rpt index f5732d9ba7..b9b5d32130 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/client.rpt @@ -30,7 +30,8 @@ write [0x10 0x21] # CONNECT [0x00 0x06] "client" # client id [0x00 0x0c] "Bearer TOKEN" # password -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/server.rpt index c16e710bce..57871900b2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.password.authentication.successful/server.rpt @@ -31,7 +31,8 @@ read [0x10 0x21] # CONNECT [0x00 0x06] "client" # client id [0x00 0x0c] "Bearer TOKEN" # password -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/client.rpt new file mode 100644 index 0000000000..6a8b2df528 --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/client.rpt @@ -0,0 +1,42 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +connect "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +connected + +write [0x10 0xff 0x7f] # CONNECT, remaining length = 16383 + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x06] # flags = will flag, clean start + [0x00 0x0a] # keep alive = 10s + [0x00] # properties + [0x00 0x03] "one" # client id + [0x02] # will properties + [0x01 0x01] # format = utf-8 + [0x00 0x09] "wills/one" # will topic + [0xdf 0x3f] ${mqtt:randomBytes(16351)} # will payload + +read [0x20 0x03] # CONNACK + [0x00] # flags = none + [0x95] # reason = packet too large + [0x00] # properties = none + +read closed +write close diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/server.rpt new file mode 100644 index 0000000000..5c7427a967 --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.packet.too.large/server.rpt @@ -0,0 +1,43 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +accept "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +accepted +connected + +read [0x10 0xff 0x7f] # CONNECT, remaining length = 16383 + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x06] # flags = will flag, clean start + [0x00 0x0a] # keep alive = 10s + [0x00] # properties + [0x00 0x03] "one" # client id + [0x02] # will properties + [0x01 0x01] # format = utf-8 + [0x00 0x09] "wills/one" # will topic + [0xdf 0x3f] [0..16351] # will payload + +write [0x20 0x03] # CONNACK + [0x00] # flags = none + [0x95] # reason = packet too large + [0x00] # properties = none + +write close +read closed diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/client.rpt index 4716401c5a..b5bcdf864d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none - [0x00] # reason = success - [0x00] # properties = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x10 0x13] # CONNECT [0x00 0x04] "MQTT" # protocol name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/server.rpt index be588902cc..b67de5c22f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.reject.second.connect/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason = success - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x10 0x13] # CONNECT [0x00 0x04] "MQTT" # protocol name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/client.rpt index 242add14df..3f273dbfaf 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/client.rpt @@ -29,8 +29,10 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x25 0x00] # retain unavailable + diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/server.rpt index cdbb92a648..915ca3ba71 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.retain.not.supported/server.rpt @@ -30,8 +30,9 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x25 0x00] # retain unavailable diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/client.rpt index d3eaed1606..e529445593 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/client.rpt @@ -29,8 +29,9 @@ write [0x10 0x0d] # CONNECT [0x00] # properties = none [0x00 0x00] # client id -read [0x20 0x2a] # CONNACK +read [0x20 0x2f] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x27] # properties + [0x2c] # properties + [0x27] 66560 # maximum packet size = 66560 [0x12 0x00 0x24] [0..36] # assigned clientId diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/server.rpt index f4e35b2b1e..14425c0795 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.assigned.client.id/server.rpt @@ -32,8 +32,9 @@ read [0x10 0x0d] # CONNECT [0x00] # properties = none [0x00 0x00] # client id -write [0x20 0x2a] # CONNACK +write [0x20 0x2f] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x27] # properties + [0x2c] # properties + [0x27] 66560 # maximum packet size = 66560 [0x12 0x00 0x24] ${assignedClientId} # assigned clientId diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/client.rpt index 90b2c6b917..a60102b57c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties = server keep alive + [0x08] # properties = server keep alive + [0x27] 66560 # maximum packet size = 66560 [0x13] 10s # server keep alive = 10s read await WAIT_2_SECONDS diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/server.rpt index 3af4304ce1..8f4267357c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.server.defined.keep.alive/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties = server keep alive + [0x08] # properties = server keep alive + [0x27] 66560 # maximum packet size = 66560 [0x13] 10s # server keep alive = 10s write notify WAIT_2_SECONDS diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/client.rpt index ccf49381b4..728ae4003a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/client.rpt @@ -28,7 +28,6 @@ write [0x10 0x13] # CONNECT [0x00 0x3c] # keep alive = 60s [0x00] # properties = none [0x00 0x06] "client" # client id - [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 [0x02] # properties @@ -36,10 +35,11 @@ write [0x10 0x13] # CONNECT [0x00 0x0a] "sensor/one" # topic filter [0x20] # options = at-most-once -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x90 0x04] # SUBACK [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/server.rpt index db105b99fc..1ed4dd5906 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.subscribe.unfragmented/server.rpt @@ -36,12 +36,13 @@ read [0x10 0x13] # CONNECT [0x00 0x0a] "sensor/one" # topic filter [0x20] # options = at-most-once -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/client.rpt index 11aab482ff..ab94edaee7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/client.rpt @@ -29,7 +29,8 @@ write [0x05] # protocol version [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/server.rpt index 08b8a21115..7eeb5401f2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful.fragmented/server.rpt @@ -22,15 +22,16 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/client.rpt index 60cde0868b..05646c53a2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/client.rpt @@ -29,7 +29,8 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/server.rpt index e7deccee13..7eeb5401f2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.successful/server.rpt @@ -22,15 +22,16 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/client.rpt index 6ae62af4fa..36e31e274d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/client.rpt @@ -28,12 +28,13 @@ write [0x10 0x21] # CONNECT [0x00 0x3c] # keep alive = 60s [0x00] # properties = none [0x00 0x06] "client" # client id - [0x00 0x0c] "Bearer TOKEN" # password + [0x00 0x0c] "Bearer TOKEN" # username -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x39] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/server.rpt index 97bd5176c3..4e6ff6a617 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/connect.username.authentication.successful/server.rpt @@ -31,7 +31,8 @@ read [0x10 0x21] # CONNECT [0x00 0x06] "client" # client id [0x00 0x0c] "Bearer TOKEN" # username -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/client.rpt index 4a82d8b390..e1fd8c7e1b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x02] # DISCONNECT [0x8d] # reason = keep alive timeout diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/server.rpt index bfbcbf1ea5..3990ba344c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.keep.alive.timeout/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x02] # DISCONNECT [0x8d] # reason = keep alive timeout diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/client.rpt index fc5499f3d1..bfb44bde10 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/server.rpt index ab8e3998a8..56422a43bd 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.after.subscribe.and.publish/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/client.rpt index 467424a17c..19450a379d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0xe1 0x02] # malformed DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/server.rpt index 61ac0df492..4d2e89d6ca 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect.reject.invalid.fixed.header.flags/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe1 0x02] # malformed DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/client.rpt index 0e4dccb94f..25b1f63b22 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x02] # DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/server.rpt index 8e28b450c8..1d7188a18c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/disconnect/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x02] # DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/client.rpt index ee394def99..1da22ab03f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/client.rpt @@ -21,35 +21,36 @@ connect "zilla://streams/net0" connected -write [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x01] # keep alive = 1s - [0x00] # properties = none - [0x00 0x06] "client" # client id - -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x01] # keep alive = 1s + [0x00] # properties = none + [0x00 0x06] "client" # client id + +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read await WAIT_1_SECOND -write [0xc0 0x00] # PINGREQ +write [0xc0 0x00] # PINGREQ -read [0xd0 0x00] # PINGRESP +read [0xd0 0x00] # PINGRESP read await WAIT_1_SECOND2 -write [0x82 0x12] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/one" # topic filter - [0x20] # options = at-most-once - -read [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code +write [0x82 0x12] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/one" # topic filter + [0x20] # options = at-most-once + +read [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/server.rpt index 273ea6dbbf..68e12ef631 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping.keep.alive/server.rpt @@ -22,35 +22,36 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x01] # keep alive = 1s - [0x00] # properties = none - [0x00 0x06] "client" # client id - -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x01] # keep alive = 1s + [0x00] # properties = none + [0x00 0x06] "client" # client id + +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write notify WAIT_1_SECOND -read [0xc0 0x00] # PINGREQ +read [0xc0 0x00] # PINGREQ -write [0xd0 0x00] # PINGRESP +write [0xd0 0x00] # PINGRESP write notify WAIT_1_SECOND2 -read [0x82 0x12] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/one" # topic filter - [0x20] # options = at-most-once - -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code +read [0x82 0x12] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/one" # topic filter + [0x20] # options = at-most-once + +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/client.rpt index 969c1907f5..b2fdfa4427 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x11] # CONNECT [0x00] # properties = none [0x00 0x04] "abcd" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0xc0 0x00] # PINGREQ diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/server.rpt index dbe9b48291..8c6e16f18e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/ping/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x11] # CONNECT [0x00] # properties = none [0x00 0x04] "abcd" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0xc0 0x00] # PINGREQ diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/client.rpt index b035043ef2..18ad3ac68d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x0d] # PUBLISH flags = at-most-once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/server.rpt index c6835ad4bd..a47c03c9d6 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x0d] # PUBLISH flags = at-most-once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/client.rpt index 8d2b0d7dc1..8e180c26df 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x31 0x0d] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/server.rpt index a5a00b450f..b621d3f44d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.empty.retained.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x31 0x0d] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/client.rpt index b39fec144d..6b0f47417c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x17] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/server.rpt index bd6707ead1..4c3f098582 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.message.with.topic.alias/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x17] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/client.rpt index 59ea2e689b..4d8a3ad977 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/client.rpt @@ -29,11 +29,12 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties - [0x22 0x00 0x01] # topic alias maximum = 1 + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 + [0x22] 1s # topic alias maximum = 1 write [0x30 0x18] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/server.rpt index 382be31814..e7aaa2b47b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.no.carry.over.topic.alias/server.rpt @@ -30,11 +30,12 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties - [0x22 0x00 0x01] # topic alias maximum = 1 + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 + [0x22] 1s # topic alias maximum = 1 read [0x30 0x18] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/client.rpt index 7816cde38d..ab309028ed 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x02] # topic alias maximum = 2 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 2s # topic alias maximum = 2 write [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/server.rpt index e3acfcf586..d8e29935cf 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.distinct/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x02] # topic alias maximum = 2 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 2s # topic alias maximum = 2 read [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/client.rpt index f407519a5b..2e9d8afc44 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x18] # PUBLISH @@ -67,10 +68,11 @@ write [0x10 0x17] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x07] "client2" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x0e] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/server.rpt index 9253a6b7ef..f43b342306 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.invalid.scope/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x18] # PUBLISH @@ -62,10 +63,11 @@ read [0x10 0x17] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x07] "client2" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x0e] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/client.rpt index 842cf10a1a..573328e173 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/server.rpt index 535fe0eb68..b9154917d0 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.repeated/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/client.rpt index 5555adf084..8a39558db3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/server.rpt index 63ac197384..5d627dd331 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.messages.with.topic.alias.replaced/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x18] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/client.rpt index 6e2fca673e..9c790a6c1f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/server.rpt index 2380868209..d876b2b6c1 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.unfragmented/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/client.rpt index e179751732..e8a61b496e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/server.rpt index a0b2569596..58cbb0a288 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages.with.delay/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/client.rpt index ae7414919b..ff642d5d12 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/server.rpt index a0b2569596..58cbb0a288 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.multiple.messages/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x15] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/client.rpt index 4030fe9abf..50d990ab95 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x39] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/server.rpt index 463fc62f5b..49d54fcd5b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message.subscribe.unfragmented/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x39] # PUBLISH [0x00 0x0a] "sensor/one" # topic name @@ -44,14 +45,14 @@ read [0x30 0x39] # PUBLISH [0x08 0x00 0x0a] "sensor/one" # response topic [0x09 0x00 0x04] "info" # correlation data "message" # payload - [0x82 0x12] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/two" # topic filter - [0x20] # options = at-most-once + [0x82 0x12] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/two" # topic filter + [0x20] # options = at-most-once -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/client.rpt index 44a0e55da2..9ab4ebe435 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x39] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/server.rpt index 211a29685b..9e2f2cbd0c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.one.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x39] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/client.rpt index ce2f3c1d7b..fa4565b101 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x31 0x28] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/server.rpt index 48bd9f4b0e..6a78f222dc 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.client.sent.subscription.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x31 0x28] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/client.rpt index bf56176077..ffa3fd696a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x36] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/server.rpt index ad423bf5d9..2412c0df9f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.invalid.payload.format/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x36] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/client.rpt new file mode 100644 index 0000000000..04c7b54dbc --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/client.rpt @@ -0,0 +1,54 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +connect "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +connected + +write [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id + +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 9216 # maximum packet size = 9216 + +write [0x30 0xff 0x7f] # PUBLISH, remaining length = 16383 + [0x00 0x0a] "sensor/one" # topic name + [0x25] # properties + [0x02] 0x0f # expiry = 15 seconds + [0x03 0x00 0x07] "message" # content type + [0x01 0x01] # format = utf-8 + [0x08 0x00 0x0a] "sensor/one" # response topic + [0x09 0x00 0x04] "info" # correlation data + ${mqtt:randomBytes(16326)} # payload + +read [0xe0 0x02] # disconnect header + [0x95] # reason = packet too large + [0x00] # properties = none + +read closed +write close + diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/server.rpt new file mode 100644 index 0000000000..863be0b74c --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.packet.too.large/server.rpt @@ -0,0 +1,55 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +accept "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +accepted +connected + +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id + +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 9216 # maximum packet size = 9216 + +read [0x30 0xff 0x7f] # PUBLISH, remaining length = 16383 + [0x00 0x0a] "sensor/one" # topic name + [0x25] # properties + [0x02] 0x0f # expiry = 15 seconds + [0x03 0x00 0x07] "message" # content type + [0x01 0x01] # format = utf-8 + [0x08 0x00 0x0a] "sensor/one" # response topic + [0x09 0x00 0x04] "info" # correlation data + [0..16326] # payload + +write [0xe0 0x02] # disconnect header + [0x95] # reason = packet too large + [0x00] # properties = none + +write close +read closed + diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/client.rpt index aa6fe7845a..fe2d55b49f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x3b] # PUBLISH, qos = at most once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/server.rpt index 270f88990c..345786e4d7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos0.with.packet.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x3b] # PUBLISH, qos = at most once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/client.rpt index e211184ae2..5101f466af 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once write [0x32 0x39] # PUBLISH, qos = at least once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/server.rpt index 4ece5acfa3..379e720cfe 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once read [0x32 0x39] # PUBLISH, qos = at least once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/client.rpt index 42bbd0b808..5e94229103 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x32 0x39] # PUBLISH, qos = at least once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/server.rpt index 5acb55f014..d18a86c6ce 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos1.without.packet.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x32 0x39] # PUBLISH, qos = at least once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/client.rpt index a673d141f9..cee75c68e9 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once write [0x34 0x39] # PUBLISH, qos = exactly once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/server.rpt index 40970e6b00..490588aa66 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x24 0x00] # maximum qos = at most once read [0x34 0x39] # PUBLISH, qos = exactly once diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/client.rpt index c2a98921f4..865f19c5fc 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x34 0x39] # PUBLISH, qos = exactly once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/server.rpt index 50dc4d2a37..12b201a50f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.qos2.without.packet.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x34 0x39] # PUBLISH, qos = exactly once [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/client.rpt index 01a18efe7f..a62e263d13 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x25 0x00] # retain unavailable write [0x31 0x26] # PUBLISH flags = at-most-once, retain diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/server.rpt index 155185b854..00308505a8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.retain.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x25 0x00] # retain unavailable read [0x31 0x26] # PUBLISH flags = at-most-once, retain diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/client.rpt index ce747d5f28..861eb55fdf 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x17] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/server.rpt index 30c71e3d95..5dd6de1f31 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.exceeds.maximum/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x17] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/client.rpt index f0465d8ee5..7aa1203da8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/client.rpt @@ -30,10 +30,11 @@ write [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -read [0x20 0x06] # CONNACK +read [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 write [0x30 0x1a] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/server.rpt index be89b64955..c0932a2468 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.reject.topic.alias.repeated/server.rpt @@ -31,10 +31,11 @@ read [0x10 0x16] # CONNECT [0x22 0x00 0x01] # topic alias maximum = 1 [0x00 0x06] "client" # client id -write [0x20 0x06] # CONNACK +write [0x20 0x0b] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x03] # properties + [0x08] # properties + [0x27] 66560 # maximum packet size = 66560 [0x22] 1s # topic alias maximum = 1 read [0x30 0x1a] # PUBLISH diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/client.rpt index 1cd14952d2..1c2057ce46 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/server.rpt index 31fdbc9e16..10ee4d4df2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.retained/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/client.rpt index 2af757f188..d40221b8e3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x15] # PUBLISH [0x00 0x0b] "sensor/none" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/server.rpt index 265527cf55..69db05a2ac 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.topic.not.routed/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x15] # PUBLISH [0x00 0x0b] "sensor/none" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/client.rpt index 35429cd5d6..e15d7931c4 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/client.rpt @@ -21,26 +21,27 @@ connect "zilla://streams/net0" connected -write [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +write [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x31 0x4a] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x14] # properties - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "1" # user property value - [0x26] # user property id - [0x00 0x04] "row2" # user property key - [0x00 0x01] "2" # user property value +write [0x31 0x4a] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x14] # properties + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "1" # user property value + [0x26] # user property id + [0x00 0x04] "row2" # user property key + [0x00 0x01] "2" # user property value "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/server.rpt index 84e1702313..4470270545 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.distinct/server.rpt @@ -22,26 +22,27 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +read [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x31 0x4a] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x14] # properties - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "1" # user property value - [0x26] # user property id - [0x00 0x04] "row2" # user property key - [0x00 0x01] "2" # user property value - "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload +read [0x31 0x4a] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x14] # properties + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "1" # user property value + [0x26] # user property id + [0x00 0x04] "row2" # user property key + [0x00 0x01] "2" # user property value + "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/client.rpt index ba0327ee3f..7ee13a5f8b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/client.rpt @@ -21,26 +21,27 @@ connect "zilla://streams/net0" connected -write [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +write [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x31 0x4a] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x14] # properties - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "1" # user property value - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "2" # user property value +write [0x31 0x4a] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x14] # properties + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "1" # user property value + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "2" # user property value "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/server.rpt index 1b5899fe62..0186b1e4aa 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.properties.repeated/server.rpt @@ -22,26 +22,27 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +read [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x31 0x4a] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x14] # properties - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "1" # user property value - [0x26] # user property id - [0x00 0x04] "row1" # user property key - [0x00 0x01] "2" # user property value - "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload +read [0x31 0x4a] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x14] # properties + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "1" # user property value + [0x26] # user property id + [0x00 0x04] "row1" # user property key + [0x00 0x01] "2" # user property value + "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/client.rpt index 972f9f3f53..6e3ea77da4 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/client.rpt @@ -21,23 +21,24 @@ connect "zilla://streams/net0" connected -write [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +write [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x31 0x3f] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x09] # properties - [0x26] # user property id - [0x00 0x03] "row" # user property key - [0x00 0x01] "1" # user property value +write [0x31 0x3f] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x09] # properties + [0x26] # user property id + [0x00 0x03] "row" # user property key + [0x00 0x01] "1" # user property value "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/server.rpt index bc00e3d81e..e4f952dd8b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/publish.with.user.property/server.rpt @@ -22,23 +22,24 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id +read [0x10 0x31] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x24] "755452d5-e2ef-4113-b9c6-2f53de96fd76" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x31 0x3f] # PUBLISH - [0x00 0x0a] "/sensors/1" # topic name - [0x09] # properties - [0x26] # user property id - [0x00 0x03] "row" # user property key - [0x00 0x01] "1" # user property value - "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload +read [0x31 0x3f] # PUBLISH + [0x00 0x0a] "/sensors/1" # topic name + [0x09] # properties + [0x26] # user property id + [0x00 0x03] "row" # user property key + [0x00 0x01] "1" # user property value + "{\"id\":\"1\",\"unit\":\"CELSIUS\",\"value\":\"189\"}" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/client.rpt index 40167198c0..5d745bb68a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -67,15 +68,16 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x01] # flags = session present - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x01] # flags = session present + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x30 0x18] # PUBLISH - [0x00 0x0a] "sensor/one" # topic name - [0x04] # properties - [0x0b 0x01] # subscription id = 1 - [0x01 0x01] # format = utf-8 - "message" # payload +read [0x30 0x18] # PUBLISH + [0x00 0x0a] "sensor/one" # topic name + [0x04] # properties + [0x0b 0x01] # subscription id = 1 + [0x01 0x01] # format = utf-8 + "message" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/server.rpt index e0e6e45a37..7aa9624f23 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.abort.reconnect.non.clean.start/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -42,10 +43,10 @@ read [0x82 0x12] # SUBSCRIBE [0x00 0x0a] "sensor/one" # topic filter [0x20] # options = at-most-once -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code read aborted write abort @@ -62,14 +63,15 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x01] # flags = session present [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x30 0x18] # PUBLISH - [0x00 0x0a] "sensor/one" # topic name - [0x04] # properties - [0x0b 0x01] # subscription id = 1 - [0x01 0x01] # format = utf-8 - "message" # payload +write [0x30 0x18] # PUBLISH + [0x00 0x0a] "sensor/one" # topic name + [0x04] # properties + [0x0b 0x01] # subscription id = 1 + [0x01 0x01] # format = utf-8 + "message" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/client.rpt index 52ee3f7e37..35b8b9723b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -71,15 +72,15 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x01] # flags = session present - [0x00] # reason code - [0x00] # properties = none - +read [0x20 0x08] # CONNACK + [0x01] # flags = session present + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x30 0x18] # PUBLISH - [0x00 0x0a] "sensor/one" # topic name - [0x04] # properties - [0x0b 0x01] # subscription id = 1 - [0x01 0x01] # format = utf-8 - "message" # payload +read [0x30 0x18] # PUBLISH + [0x00 0x0a] "sensor/one" # topic name + [0x04] # properties + [0x0b 0x01] # subscription id = 1 + [0x01 0x01] # format = utf-8 + "message" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/server.rpt index 31bd2515d1..e2325eeaf2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.client.takeover/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -65,14 +66,15 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x01] # flags = session present [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x30 0x18] # PUBLISH - [0x00 0x0a] "sensor/one" # topic name - [0x04] # properties - [0x0b 0x01] # subscription id = 1 - [0x01 0x01] # format = utf-8 - "message" # payload \ No newline at end of file +write [0x30 0x18] # PUBLISH + [0x00 0x0a] "sensor/one" # topic name + [0x04] # properties + [0x0b 0x01] # subscription id = 1 + [0x01 0x01] # format = utf-8 + "message" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/client.rpt new file mode 100644 index 0000000000..29b4a77410 --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/client.rpt @@ -0,0 +1,40 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +connect "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +connected + +write [0x10 0x3a] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x26] # flags = will retain, will flag, clean start + [0x00 0x0a] # keep alive = 10s + [0x00] # properties + [0x00 0x03] "one" # client id + [0x02] # will properties + [0x01 0x01] # format = utf-8 + [0x00 0x09] "wills/one" # will topic +write [0x00 0x1a] "client one session expired" # will payload + +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/server.rpt new file mode 100644 index 0000000000..d1f8667469 --- /dev/null +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.payload.fragmented/server.rpt @@ -0,0 +1,41 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +accept "zilla://streams/net0" + option zilla:window 8192 + option zilla:transmission "duplex" + option zilla:byteorder "network" + +accepted +connected + +read [0x10 0x3a] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x26] # flags = will retain, will flag, clean start + [0x00 0x0a] # keep alive = 10s + [0x00] # properties + [0x00 0x03] "one" # client id + [0x02] # will properties + [0x01 0x01] # format = utf-8 + [0x00 0x09] "wills/one" # will topic + [0x00 0x1a] "client one session expired" # will payload + +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/client.rpt index 48cba5d50c..9f051d9142 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/client.rpt @@ -18,21 +18,21 @@ connect "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" option zilla:byteorder "network" - option zilla:byteorder "network" connected -write [0x10 0x10] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x00] # flags = none - [0x00 0x3c] # keep alive = 60s - [0x05] # properties - [0x11] 1 # session expiry interval - [0x00 0x03] "one" # client id +write [0x10 0x10] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x00] # flags = none + [0x00 0x3c] # keep alive = 60s + [0x05] # properties + [0x11] 1 # session expiry interval + [0x00 0x03] "one" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/server.rpt index 4fddefb67b..ad0d678c0c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.connect.with.session.expiry/server.rpt @@ -18,21 +18,21 @@ accept "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" option zilla:byteorder "network" - option zilla:byteorder "network" accepted connected -read [0x10 0x10] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x00] # flags = none - [0x00 0x3c] # keep alive = 60s - [0x05] # properties - [0x11] 1 # session expiry interval - [0x00 0x03] "one" # client id +read [0x10 0x10] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x00] # flags = none + [0x00 0x3c] # keep alive = 60s + [0x05] # properties + [0x11] 1 # session expiry interval + [0x00 0x03] "one" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/client.rpt index 1028ffd030..9442e69a80 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -60,7 +61,7 @@ connect await FIRST_CONNECTED "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" - option zilla:byteorder "network" + option zilla:byteorder "network" connected @@ -72,7 +73,8 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/server.rpt index 7a36e1223c..152272502b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.exists.clean.start/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -47,9 +48,9 @@ write [0x90 0x04] # SUBACK [0x00] # properties = none [0x00] # reason code -write [0xe0 0x02] # DISCONNECT - [0x8e] # session taken over - [0x00] # properties = none +write [0xe0 0x02] # DISCONNECT + [0x8e] # session taken over + [0x00] # properties = none write close read closed @@ -58,15 +59,16 @@ read closed accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/client.rpt index 286b7882be..c5ee483918 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x13] # DISCONNECT [0x9d] # reason code = Use another server diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/server.rpt index 73a845c997..58120e20f9 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.server.redirect.after.connack/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x13] # DISCONNECT [0x9d] # reason code = Use another server diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/client.rpt index 6c4ad76ad8..3124f2838a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/server.rpt index ec1a3928af..f34e33da00 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.multiple.isolated/server.rpt @@ -22,39 +22,40 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id - -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none - -read [0x82 0x12] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/one" # topic filter - [0x20] # options = at-most-once - -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason code - -read [0x82 0x12] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x02] # subscription id = 2 - [0x00 0x0a] "sensor/two" # topic filter - [0x20] # options = at-most-once - -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason codes +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id + +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 + +read [0x82 0x12] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/one" # topic filter + [0x20] # options = at-most-once + +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason code + +read [0x82 0x12] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x02] # subscription id = 2 + [0x00 0x0a] "sensor/two" # topic filter + [0x20] # options = at-most-once + +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason codes diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/client.rpt index c6cab05d5b..429035ba02 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x30 0x16] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/server.rpt index 47b29b72b7..04129949be 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe.via.session.state/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x30 0x16] # PUBLISH [0x00 0x0a] "sensor/one" # topic name diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/client.rpt index 1568918c03..f862e9b39b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/server.rpt index f346fdfe04..7c5aa38256 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.subscribe/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/client.rpt index 30590722b8..7da1547868 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/client.rpt @@ -21,53 +21,54 @@ connect "zilla://streams/net0" connected -write [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +write [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -write [0x82 0x1f] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/one" # topic filter - [0x20] # options = at-most-once +write [0x82 0x1f] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/one" # topic filter + [0x20] # options = at-most-once - [0x00 0x0a] "sensor/two" # topic filter - [0x20] # options = at-most-once + [0x00 0x0a] "sensor/two" # topic filter + [0x20] # options = at-most-once -write [0xa2 0x0f] # UNSUBSCRIBE - [0x00 0x02] # packet id = 2 - [0x00] # properties = none - [0x00 0x0a] "sensor/one" # topic filter +write [0xa2 0x0f] # UNSUBSCRIBE + [0x00 0x02] # packet id = 2 + [0x00] # properties = none + [0x00 0x0a] "sensor/one" # topic filter -write [0xa2 0x0f] # UNSUBSCRIBE - [0x00 0x03] # packet id = 3 - [0x00] # properties = none - [0x00 0x0a] "sensor/two" # topic filter +write [0xa2 0x0f] # UNSUBSCRIBE + [0x00 0x03] # packet id = 3 + [0x00] # properties = none + [0x00 0x0a] "sensor/two" # topic filter write notify UNSUBSCRIBE_ALL_FILTERS -read [0x90 0x05] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00 0x00] # reason code +read [0x90 0x05] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00 0x00] # reason code -read [0xb0 0x04] # UNSUBACK - [0x00 0x02] # packet id = 2 - [0x00] # properties = none - [0x00] # unsubscribe = success +read [0xb0 0x04] # UNSUBACK + [0x00 0x02] # packet id = 2 + [0x00] # properties = none + [0x00] # unsubscribe = success -read [0xb0 0x04] # UNSUBACK - [0x00 0x03] # packet id = 3 - [0x00] # properties = none - [0x00] # unsubscribe = success +read [0xb0 0x04] # UNSUBACK + [0x00 0x03] # packet id = 3 + [0x00] # properties = none + [0x00] # unsubscribe = success diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/server.rpt index 682fdc2853..908b65016f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe.deferred/server.rpt @@ -22,38 +22,39 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x82 0x1f] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/one" # topic filter - [0x20] # options = at-most-once +read [0x82 0x1f] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/one" # topic filter + [0x20] # options = at-most-once - [0x00 0x0a] "sensor/two" # topic filter - [0x20] # options = at-most-once + [0x00 0x0a] "sensor/two" # topic filter + [0x20] # options = at-most-once -read [0xa2 0x0f] # UNSUBSCRIBE - [0x00 0x02] # packet id = 2 - [0x00] # properties = none - [0x00 0x0a] "sensor/one" # topic filter +read [0xa2 0x0f] # UNSUBSCRIBE + [0x00 0x02] # packet id = 2 + [0x00] # properties = none + [0x00 0x0a] "sensor/one" # topic filter -read [0xa2 0x0f] # UNSUBSCRIBE - [0x00 0x03] # packet id = 3 - [0x00] # properties = none - [0x00 0x0a] "sensor/two" # topic filter +read [0xa2 0x0f] # UNSUBSCRIBE + [0x00 0x03] # packet id = 3 + [0x00] # properties = none + [0x00 0x0a] "sensor/two" # topic filter write [0x90 0x05] # SUBACK diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/client.rpt index 9aa1320c06..186b1e219e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/server.rpt index 6275448c9e..cbc4de3ba7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.unsubscribe.after.subscribe/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/client.rpt index 7b82dfc026..01fca82896 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/client.rpt @@ -33,10 +33,11 @@ write [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x02] # DISCONNECT [0x04] # disconnect with will message diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/server.rpt index c4e6b53855..5996116b17 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.disconnect.with.will.message/server.rpt @@ -34,10 +34,11 @@ read [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x02] # DISCONNECT [0x04] # disconnect with will message diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/client.rpt index 002f06c76a..cb4483c26d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/client.rpt @@ -33,10 +33,11 @@ write [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x02] # DISCONNECT [0x8d] # reason = keep alive timeout diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/server.rpt index 25c88efa05..eeea697dfb 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.no.ping.within.keep.alive/server.rpt @@ -34,10 +34,11 @@ read [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x02] # DISCONNECT [0x8d] # reason = keep alive timeout diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/client.rpt index 5b9b318d90..e1600b0b51 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/client.rpt @@ -33,10 +33,11 @@ write [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0xe0 0x02] # DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/server.rpt index 883cc65b8e..6a1b53ddf3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.normal.disconnect/server.rpt @@ -34,10 +34,11 @@ read [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0xe0 0x02] # DISCONNECT [0x00] # normal disconnect diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/client.rpt index 4059848eac..a3cb27a295 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/client.rpt @@ -33,8 +33,8 @@ write [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none - + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/server.rpt index 9114402158..d1f8667469 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/session.will.message.retain/server.rpt @@ -34,7 +34,8 @@ read [0x10 0x3a] # CONNECT [0x00 0x09] "wills/one" # will topic [0x00 0x1a] "client one session expired" # will payload -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/client.rpt index 6e205f28f4..e9bc4c9e79 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/server.rpt index 1bec59b7a5..61944e33f0 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.get.retained.as.published/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/client.rpt index f7fda12388..a2a9df28f2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x83 0x12] # malformed SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/server.rpt index d2539d4a04..f05e044a79 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.fixed.header.flags/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x83 0x12] # malformed SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/client.rpt index f4689b5087..b89bfcd670 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/server.rpt index d19ea3313a..4938651215 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.invalid.topic.filter/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/client.rpt index e206de2a14..4ed82006f8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/server.rpt index 693ca30365..6f569a549b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.missing.id.receive.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/client.rpt index cf10a9efac..f0e68093c7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/server.rpt index 89fdc8124f..d7e28e9599 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.receive.response.topic.and.correlation.data/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/client.rpt index 9de59055cb..503cc35fe3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/server.rpt index 4eb5e8814a..8265375b49 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.user.properties.unaltered/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/client.rpt index 8113efb2c4..e1491aafbc 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/server.rpt index 04a5236644..118e92c629 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message.with.invalid.subscription.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/client.rpt index 0b2b4fd884..299bbd396b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/server.rpt index adce45abe2..71a46760c9 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.one.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/client.rpt index 388c9dba39..4b1143221b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/server.rpt index 25b8f9d763..2f5bb0a797 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.publish.no.local/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/client.rpt index 20ffd331c2..ba6e06343f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client2" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name @@ -57,10 +58,11 @@ write [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client1" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/server.rpt index dc1c3a6e66..436b990840 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.publish.retained.no.replay/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client2" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name @@ -53,10 +54,11 @@ read [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client1" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/client.rpt index 6e3a8ee494..1fbfe7f35c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client1" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name @@ -58,10 +59,11 @@ write [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client2" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/server.rpt index 627d0b1f62..d67bc10f41 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.qos0.replay.retained.no.packet.id/server.rpt @@ -30,12 +30,13 @@ read [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client1" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x31 0x14] # PUBLISH flags = at-most-once, retain +read [0x31 0x14] # PUBLISH flags = at-most-once, retain [0x00 0x0a] "sensor/one" # topic name [0x00] # properties "message" # payload @@ -51,10 +52,11 @@ read [0x10 0x14] # CONNECT [0x00] # properties = none [0x00 0x07] "client2" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/client.rpt index cb8c25a052..8a69f38f4a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/server.rpt index 196f5130f1..e083bdc4d5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.overlapping.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/client.rpt index df3f3f98d4..1c5fd3fec3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/server.rpt index 80e3f9db30..1c18976493 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/client.rpt index 18cade375b..f293f66014 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/server.rpt index 693ca30365..c7294e3326 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.receive.message/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -58,4 +59,4 @@ write [0x30 0x18] # PUBLISH [0x04] # properties [0x0b 0x01] # subscription id = 1 [0x01 0x01] # format = utf-8 - "message" # payload \ No newline at end of file + "message" # payload diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/client.rpt index b39b697ee0..f935b83e27 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/server.rpt index fc394dde50..f915d88261 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.malformed.subscription.options/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/client.rpt index 683ce043d8..e8d88fb786 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x02] # properties diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/server.rpt index 157566c112..4fe6b91fc7 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.packet.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x10] # SUBSCRIBE [0x02] # properties diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/client.rpt index 9c36998f8a..02d4452a51 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x03] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/server.rpt index 95e8e7aa4f..efa46acd52 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.missing.topic.filters/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x03] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/client.rpt index 41e3ba9b00..b981a2ef53 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/server.rpt index cbb98d694a..cae75dc440 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.no.local/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/client.rpt index 089f74870e..e74f580404 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x2a 0x00] # shared subscription unavailable write [0x82 0x23] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/server.rpt index 6208375089..955a0daa5a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.shared.subscriptions.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x2a 0x00] # shared subscription unavailable read [0x82 0x23] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/client.rpt index fcf5bf68a9..b4ab99c3ab 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x29 0x00] # subscription identifiers unavailable write [0x82 0x12] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/server.rpt index 0a49b964f9..68c5d5f498 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.subscription.ids.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x29 0x00] # subscription identifiers unavailable read [0x82 0x12] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/client.rpt index 43385085a0..85b8c1d71d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/server.rpt index 097955c349..7d38220bd3 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.topic.filter.invalid.wildcard/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/client.rpt index feedd243e0..4c01193032 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x05] # CONNACK +read [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x28 0x00] # wildcard subscription unavailable write [0x82 0x14] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/server.rpt index 74cfb47054..3a5baf1ab2 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.reject.wildcard.subscriptions.not.supported/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x05] # CONNACK +write [0x20 0x0a] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x02] # properties + [0x07] # properties + [0x27] 66560 # maximum packet size = 66560 [0x28 0x00] # wildcard subscription unavailable read [0x82 0x14] # SUBSCRIBE diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/client.rpt index fa8fce65d0..564d33f3a5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/server.rpt index 36109c91be..c17d971cc0 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.retain.as.published/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/client.rpt index a04837c7ed..92d5d93d68 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/server.rpt index ab94ad4d69..15e744e5f5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.multi.level.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/client.rpt index bae0c2cdc0..5c5f4b3eab 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x14] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/server.rpt index 1c4a186cfd..96650fc06a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.and.multi.level.wildcard/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x14] # SUBSCRIBE [0x00 0x01] # packet id = 1 @@ -42,7 +43,7 @@ read [0x82 0x14] # SUBSCRIBE [0x00 0x0c] "sensor/+/1/#" # topic filter [0x20] # options = at-most-once -write [0x90 0x04] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00] # reason codes +write [0x90 0x04] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00] # reason codes diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/client.rpt index 6d9f1dcfe5..434ce18b3c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/server.rpt index d5ef889cf7..7c914c5b51 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.exact/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/client.rpt index b4f6fda4ab..a357131f7e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/server.rpt index 42bd2af797..8aceb59618 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.single.level.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/client.rpt index cbd253e529..9ecd5c519f 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/server.rpt index c1d9da82e3..972062cbac 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filter.two.single.level.wildcard/server.rpt @@ -22,18 +22,19 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/client.rpt index 0353af589c..e1d584fb47 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/server.rpt index 9589f5edd5..cfc2382136 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.both.exact/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/client.rpt index 5ff09fbca3..ea62596109 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1d] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/server.rpt index 381f20cc2a..4de6727ff5 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.aggregated.exact.and.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1d] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/client.rpt index 7fd54dbcca..ecc300141d 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1b] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/server.rpt index fd29563aaa..435e7ef4eb 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.disjoint.wildcards/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1b] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/client.rpt index a1a93748aa..c45a415a66 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/server.rpt index ec1a3928af..45b23519ab 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.exact/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/client.rpt index d5a44c06fa..51b7af1649 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/server.rpt index 9cf15ef8bb..24855d9f90 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.both.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x10] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/client.rpt index 181b199d87..532b39fab8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/server.rpt index 7d197e098a..aeadc62da8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.isolated.exact.and.wildcard/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/client.rpt index 1312d627ea..412623486b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK +read [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/server.rpt index 152943186e..13430ba6e8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/subscribe.topic.filters.overlapping.wildcards/server.rpt @@ -22,30 +22,31 @@ accept "zilla://streams/net0" accepted connected -read [0x10 0x13] # CONNECT - [0x00 0x04] "MQTT" # protocol name - [0x05] # protocol version - [0x02] # flags = clean start - [0x00 0x3c] # keep alive = 60s - [0x00] # properties = none - [0x00 0x06] "client" # client id +read [0x10 0x13] # CONNECT + [0x00 0x04] "MQTT" # protocol name + [0x05] # protocol version + [0x02] # flags = clean start + [0x00 0x3c] # keep alive = 60s + [0x00] # properties = none + [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +write [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 -read [0x82 0x1f] # SUBSCRIBE - [0x00 0x01] # packet id = 1 - [0x02] # properties - [0x0b 0x01] # subscription id = 1 - [0x00 0x0a] "sensor/+/#" # topic filter - [0x20] # options = at-most-once +read [0x82 0x1f] # SUBSCRIBE + [0x00 0x01] # packet id = 1 + [0x02] # properties + [0x0b 0x01] # subscription id = 1 + [0x00 0x0a] "sensor/+/#" # topic filter + [0x20] # options = at-most-once - [0x00 0x0a] "sensor/+/1" # topic filter - [0x20] # options = at-most-once + [0x00 0x0a] "sensor/+/1" # topic filter + [0x20] # options = at-most-once -write [0x90 0x05] # SUBACK - [0x00 0x01] # packet id = 1 - [0x00] # properties = none - [0x00 0x00] # reason codes +write [0x90 0x05] # SUBACK + [0x00 0x01] # packet id = 1 + [0x00] # properties = none + [0x00 0x00] # reason codes diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/client.rpt index e4c43817bd..604012c7b4 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/server.rpt index e1fd92a605..33dc6f6484 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.after.subscribe/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/client.rpt index f78f7c24ac..98237eb68a 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/server.rpt index 8c640277d7..fa8c2a909b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.aggregated.topic.filters.both.exact/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/client.rpt index beed4963a2..21707596c8 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/client.rpt @@ -17,6 +17,7 @@ connect "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" + option zilla:byteorder "network" connected @@ -28,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/server.rpt index a097586616..91fe86981e 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.subscription/server.rpt @@ -17,6 +17,7 @@ accept "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" + option zilla:byteorder "network" accepted connected @@ -29,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/client.rpt index 6d78cacf2d..1a15fe66bd 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/client.rpt @@ -28,10 +28,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/server.rpt index 381c026006..b99ca469e1 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.no.matching.topic.filter/server.rpt @@ -17,6 +17,7 @@ accept "zilla://streams/net0" option zilla:window 8192 option zilla:transmission "duplex" + option zilla:byteorder "network" accepted connected @@ -29,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/client.rpt index 1f2e757fe2..e3fc8f7e1b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/server.rpt index 1627cbe50d..5eeb52dd97 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.publish.unfragmented/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/client.rpt index d6832b017f..9788f07ecd 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/server.rpt index 6059ab3187..25a951ba8b 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.invalid.fixed.header.flags/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/client.rpt index a1bd515cb4..af9631abd1 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/server.rpt index 2d3c972dac..a381e9a905 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.missing.packet.id/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/client.rpt index ab7a2a81c3..1a0c4e388c 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/server.rpt index 3918ccccbe..6c370e90cd 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.reject.no.topic.filter/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x12] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/client.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/client.rpt index ff26c0387b..9389db8c48 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/client.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/client.rpt @@ -29,10 +29,11 @@ write [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -read [0x20 0x03] # CONNACK - [0x00] # flags = none - [0x00] # reason code - [0x00] # properties = none +read [0x20 0x08] # CONNACK + [0x00] # flags = none + [0x00] # reason code + [0x05] # properties + [0x27] 66560 # maximum packet size = 66560 write [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/server.rpt b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/server.rpt index e204f07d33..5bb6ef2c12 100644 --- a/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/server.rpt +++ b/incubator/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/streams/network/unsubscribe.topic.filter.single/server.rpt @@ -30,10 +30,11 @@ read [0x10 0x13] # CONNECT [0x00] # properties = none [0x00 0x06] "client" # client id -write [0x20 0x03] # CONNACK +write [0x20 0x08] # CONNACK [0x00] # flags = none [0x00] # reason code - [0x00] # properties = none + [0x05] # properties = none + [0x27] 66560 # maximum packet size = 66560 read [0x82 0x1f] # SUBSCRIBE [0x00 0x01] # packet id = 1 diff --git a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctionsTest.java b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctionsTest.java index 44f2173d67..e6dd35db93 100644 --- a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctionsTest.java +++ b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/internal/MqttFunctionsTest.java @@ -29,12 +29,11 @@ import org.junit.Test; import org.kaazing.k3po.lang.el.BytesMatcher; -import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttEndReasonCode; +import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttMessageFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttPayloadFormat; import io.aklivity.zilla.specs.binding.mqtt.internal.types.MqttSessionStateFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttBeginExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttDataExFW; -import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttEndExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttFlushExFW; import io.aklivity.zilla.specs.binding.mqtt.internal.types.stream.MqttResetExFW; @@ -61,20 +60,10 @@ public void shouldEncodeMqttSessionBeginExt() final byte[] array = MqttFunctions.beginEx() .typeId(0) .session() - .clientId("client") + .flags("WILL", "CLEAN_START") .expiry(30) - .serverReference("localhost:1883") - .will() - .topic("will.client") - .delay(20) - .expiryInterval(15) - .contentType("message") - .format("TEXT") - .responseTopic("will.client.response") - .correlation("request-id-1") - .userProperty("name", "value") - .payload("client failed") - .build() + .clientId("client") + .serverRef("localhost:1883") .build() .build(); @@ -83,22 +72,9 @@ public void shouldEncodeMqttSessionBeginExt() assertEquals(2, mqttBeginEx.kind()); assertEquals("client", mqttBeginEx.session().clientId().asString()); - assertEquals("localhost:1883", mqttBeginEx.session().serverReference().asString()); + assertEquals("localhost:1883", mqttBeginEx.session().serverRef().asString()); assertEquals(30, mqttBeginEx.session().expiry()); - assertEquals("will.client", mqttBeginEx.session().will().topic().asString()); - assertEquals(20, mqttBeginEx.session().will().delay()); - assertEquals(15, mqttBeginEx.session().will().expiryInterval()); - assertEquals("message", mqttBeginEx.session().will().contentType().asString()); - assertEquals("TEXT", mqttBeginEx.session().will().format().toString()); - assertEquals("will.client.response", mqttBeginEx.session().will().responseTopic().asString()); - assertEquals("request-id-1", mqttBeginEx.session().will().correlation() - .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); - assertNotNull(mqttBeginEx.session().will().properties() - .matchFirst(h -> - "name".equals(h.key().asString()) && - "value".equals(h.value().asString()))); - assertEquals("client failed", mqttBeginEx.session().will().payload() - .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); + assertEquals(6, mqttBeginEx.session().flags()); } @Test @@ -107,8 +83,8 @@ public void shouldEncodeMqttSessionBeginExtWithoutWillMessage() final byte[] array = MqttFunctions.beginEx() .typeId(0) .session() - .clientId("client") .expiry(30) + .clientId("client") .build() .build(); @@ -127,13 +103,6 @@ public void shouldEncodeMqttSessionBeginExtWithFlagsBytesWillPayload() .typeId(0) .session() .clientId("client") - .will() - .topic("will.client") - .qos("AT_LEAST_ONCE") - .flags("RETAIN") - .correlationBytes("request-id-1".getBytes(UTF_8)) - .payloadBytes(new byte[] {0, 1, 2, 3, 4, 5}) - .build() .build() .build(); @@ -142,14 +111,6 @@ public void shouldEncodeMqttSessionBeginExtWithFlagsBytesWillPayload() assertEquals(2, mqttBeginEx.kind()); assertEquals("client", mqttBeginEx.session().clientId().asString()); - assertEquals("will.client", mqttBeginEx.session().will().topic().asString()); - assertEquals(1, mqttBeginEx.session().will().flags()); - assertEquals(0b0001, mqttBeginEx.session().will().flags()); - assertEquals("BINARY", mqttBeginEx.session().will().format().toString()); - assertEquals("request-id-1", mqttBeginEx.session().will().correlation() - .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); - assertArrayEquals(new byte[] {0, 1, 2, 3, 4, 5}, mqttBeginEx.session().will().payload() - .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o)).getBytes()); } @Test @@ -321,22 +282,10 @@ public void shouldMatchSessionBeginExtension() throws Exception { BytesMatcher matcher = MqttFunctions.matchBeginEx() .session() - .clientId("client") + .flags("CLEAN_START") .expiry(10) - .serverReference("localhost:1883") - .will() - .topic("willTopic") - .delay(10) - .qos("AT_MOST_ONCE") - .flags("RETAIN") - .expiryInterval(20) - .contentType("message") - .format("TEXT") - .responseTopic("willResponseTopic") - .correlation("correlationData") - .userProperty("key1", "value1") - .payload("will message") - .build() + .clientId("client") + .serverRef("localhost:1883") .build() .build(); @@ -346,23 +295,10 @@ public void shouldMatchSessionBeginExtension() throws Exception .wrap(new UnsafeBuffer(byteBuf), 0, byteBuf.capacity()) .typeId(0x00) .session(s -> s - .clientId("client") + .flags(2) .expiry(10) - .serverReference("localhost:1883") - .will(c -> - { - c.topic("willTopic"); - c.delay(10); - c.qos(0); - c.flags(1); - c.expiryInterval(20); - c.contentType("message"); - c.format(f -> f.set(MqttPayloadFormat.TEXT)); - c.responseTopic("willResponseTopic"); - c.correlation(corr -> corr.bytes(b -> b.set("correlationData".getBytes(UTF_8)))); - c.propertiesItem(p -> p.key("key1").value("value1")); - c.payload(p -> p.bytes(b -> b.set("will message".getBytes(UTF_8)))); - })) + .clientId("client") + .serverRef("localhost:1883")) .build(); assertNotNull(matcher.match(byteBuf)); @@ -373,8 +309,8 @@ public void shouldMatchSessionBeginExtensionWithEmptyFields() throws Exception { BytesMatcher matcher = MqttFunctions.matchBeginEx() .session() - .clientId("client") .expiry(10) + .clientId("client") .build() .build(); @@ -384,8 +320,8 @@ public void shouldMatchSessionBeginExtensionWithEmptyFields() throws Exception .wrap(new UnsafeBuffer(byteBuf), 0, byteBuf.capacity()) .typeId(0x00) .session(s -> s - .clientId("client") - .expiry(10)) + .expiry(10) + .clientId("client")) .build(); assertNotNull(matcher.match(byteBuf)); @@ -396,20 +332,8 @@ public void shouldMatchSessionBeginExtensionWithBytes() throws Exception { BytesMatcher matcher = MqttFunctions.matchBeginEx() .session() - .clientId("client") .expiry(10) - .will() - .topic("willTopic") - .delay(10) - .qos("AT_MOST_ONCE") - .expiryInterval(20) - .contentType("message") - .format("TEXT") - .responseTopic("willResponseTopic") - .correlationBytes("correlationData".getBytes(UTF_8)) - .userProperty("key1", "value1") - .payloadBytes("will message".getBytes(UTF_8)) - .build() + .clientId("client") .build() .build(); @@ -419,21 +343,8 @@ public void shouldMatchSessionBeginExtensionWithBytes() throws Exception .wrap(new UnsafeBuffer(byteBuf), 0, byteBuf.capacity()) .typeId(0x00) .session(s -> s - .clientId("client") .expiry(10) - .will(c -> - { - c.topic("willTopic"); - c.delay(10); - c.qos(0); - c.expiryInterval(20); - c.contentType("message"); - c.format(f -> f.set(MqttPayloadFormat.TEXT)); - c.responseTopic("willResponseTopic"); - c.correlation(corr -> corr.bytes(b -> b.set("correlationData".getBytes(UTF_8)))); - c.propertiesItem(p -> p.key("key1").value("value1")); - c.payload(p -> p.bytes(b -> b.set("will message".getBytes(UTF_8)))); - })) + .clientId("client")) .build(); assertNotNull(matcher.match(byteBuf)); @@ -1218,6 +1129,23 @@ public void shouldEncodeMqttPublishDataExWithNullUserPropertyValue() Objects.isNull(h.value().asString()))); } + @Test + public void shouldEncodeMqttSessionDataEx() + { + final byte[] array = MqttFunctions.dataEx() + .typeId(0) + .session() + .kind("WILL") + .build() + .build(); + + DirectBuffer buffer = new UnsafeBuffer(array); + MqttDataExFW mqttPublishDataEx = new MqttDataExFW().wrap(buffer, 0, buffer.capacity()); + + assertEquals(0, mqttPublishDataEx.typeId()); + assertEquals("WILL", mqttPublishDataEx.session().kind().toString()); + } + @Test public void shouldEncodeMqttSubscribeFlushEx() { @@ -1240,32 +1168,18 @@ public void shouldEncodeMqttSubscribeFlushEx() 0b0001 == f.flags())); } - @Test - public void shouldEncodeMqttAbortExAsUnsubscribe() - { - final byte[] array = MqttFunctions.endEx() - .typeId(0) - .reason("KEEP_ALIVE_EXPIRY") - .build(); - - DirectBuffer buffer = new UnsafeBuffer(array); - MqttEndExFW mqttEndEx = new MqttEndExFW().wrap(buffer, 0, buffer.capacity()); - assertEquals(0, mqttEndEx.typeId()); - assertEquals(MqttEndReasonCode.KEEP_ALIVE_EXPIRY, mqttEndEx.reasonCode().get()); - } - @Test public void shouldEncodeMqttResetEx() { final byte[] array = MqttFunctions.resetEx() .typeId(0) - .serverReference("localhost:1883") + .serverRef("localhost:1883") .build(); DirectBuffer buffer = new UnsafeBuffer(array); MqttResetExFW mqttResetEx = new MqttResetExFW().wrap(buffer, 0, buffer.capacity()); assertEquals(0, mqttResetEx.typeId()); - assertEquals("localhost:1883", mqttResetEx.serverReference().asString()); + assertEquals("localhost:1883", mqttResetEx.serverRef().asString()); } @Test @@ -1292,4 +1206,64 @@ public void shouldEncodeMqttSessionState() 0 == f.qos() && 0b0000 == f.flags())); } + + @Test + public void shouldEncodeWillMessage() + { + final byte[] array = MqttFunctions.will() + .topic("will.client") + .delay(20) + .expiryInterval(15) + .contentType("message") + .format("TEXT") + .responseTopic("will.client.response") + .correlation("request-id-1") + .userProperty("name", "value") + .payload("client failed") + .build(); + + DirectBuffer buffer = new UnsafeBuffer(array); + MqttMessageFW willMessage = new MqttMessageFW().wrap(buffer, 0, buffer.capacity()); + + assertEquals("will.client", willMessage.topic().asString()); + assertEquals(20, willMessage.delay()); + assertEquals(15, willMessage.expiryInterval()); + assertEquals("message", willMessage.contentType().asString()); + assertEquals("TEXT", willMessage.format().toString()); + assertEquals("will.client.response", willMessage.responseTopic().asString()); + assertEquals("request-id-1", willMessage.correlation() + .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); + assertNotNull(willMessage.properties() + .matchFirst(h -> + "name".equals(h.key().asString()) && + "value".equals(h.value().asString()))); + assertEquals("client failed", willMessage.payload() + .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); + } + + @Test + public void shouldEncodeWillMessageBytesPayload() + { + final byte[] array = MqttFunctions.will() + .topic("will.client") + .qos("AT_LEAST_ONCE") + .flags("RETAIN") + .responseTopic("response_topic") + .correlationBytes("request-id-1".getBytes(UTF_8)) + .payloadBytes(new byte[] {0, 1, 2, 3, 4, 5}) + .build(); + + DirectBuffer buffer = new UnsafeBuffer(array); + MqttMessageFW willMessage = new MqttMessageFW().wrap(buffer, 0, buffer.capacity()); + + assertEquals("will.client", willMessage.topic().asString()); + assertEquals(1, willMessage.flags()); + assertEquals(0b0001, willMessage.flags()); + assertEquals("BINARY", willMessage.format().toString()); + assertEquals("response_topic", willMessage.responseTopic().asString()); + assertEquals("request-id-1", willMessage.correlation() + .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o))); + assertArrayEquals(new byte[] {0, 1, 2, 3, 4, 5}, willMessage.payload() + .bytes().get((b, o, m) -> b.getStringWithoutLengthUtf8(o, m - o)).getBytes()); + } } diff --git a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/application/SessionIT.java b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/application/SessionIT.java index 1a2e6ef51c..196930aaf6 100644 --- a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/application/SessionIT.java +++ b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/application/SessionIT.java @@ -57,18 +57,9 @@ public void shouldRemoveSessionAtCleanStart() throws Exception @Test @Specification({ - "${app}/session.will.message.disconnect.with.will.message/client", - "${app}/session.will.message.disconnect.with.will.message/server"}) - public void shouldSendReasonForEndAfterDisconnectWithWillMessage() throws Exception - { - k3po.finish(); - } - - @Test - @Specification({ - "${app}/session.will.message.no.ping.within.keep.alive/client", - "${app}/session.will.message.no.ping.within.keep.alive/server"}) - public void shouldSendReasonForEndAfterKeepAliveTimeout() throws Exception + "${app}/session.will.message.abort/client", + "${app}/session.will.message.abort/server"}) + public void shouldAbortSessionStreamWhenWillDelivery() throws Exception { k3po.finish(); } diff --git a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/ConnectionIT.java b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/ConnectionIT.java index 71c2b374a5..ff46963650 100644 --- a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/ConnectionIT.java +++ b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/ConnectionIT.java @@ -401,6 +401,15 @@ public void shouldNotReceivePublishPacketExceedingMaxPacketLimit() throws Except k3po.finish(); } + @Test + @Specification({ + "${net}/connect.reject.packet.too.large/client", + "${net}/connect.reject.packet.too.large/server"}) + public void shouldRejectPacketTooLarge() throws Exception + { + k3po.finish(); + } + @Test @Specification({ "${net}/connect.subscribe.unfragmented/client", diff --git a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/PublishIT.java b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/PublishIT.java index 010f0bcde3..8911a941c9 100644 --- a/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/PublishIT.java +++ b/incubator/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/streams/network/PublishIT.java @@ -300,4 +300,13 @@ public void shouldPublishOneMessageThenSubscribeUnfragmented() throws Exception { k3po.finish(); } + + @Test + @Specification({ + "${net}/publish.reject.packet.too.large/client", + "${net}/publish.reject.packet.too.large/server"}) + public void shouldRejectPacketTooLarge() throws Exception + { + k3po.finish(); + } } diff --git a/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/MqttReasonCodes.java b/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/MqttReasonCodes.java index 00fbf922a6..5ec4d0cf53 100644 --- a/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/MqttReasonCodes.java +++ b/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/MqttReasonCodes.java @@ -36,6 +36,7 @@ public final class MqttReasonCodes public static final byte UNSPECIFIED_ERROR = (byte) 0x80; public static final byte MALFORMED_PACKET = (byte) 0x81; public static final byte PROTOCOL_ERROR = (byte) 0x82; + public static final byte PACKET_TOO_LARGE = (byte) 0x95; public static final byte WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = (byte) 0xa2; public static final byte SHARED_SUBSCRIPTION_NOT_SUPPORTED = (byte) 0x9e; public static final byte SUBSCRIPTION_IDS_NOT_SUPPORTED = (byte) 0xa1; diff --git a/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java b/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java index 4b4ead716e..5daa0866e1 100644 --- a/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java +++ b/incubator/binding-mqtt/src/main/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/MqttServerFactory.java @@ -23,6 +23,7 @@ import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.MALFORMED_PACKET; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.NORMAL_DISCONNECT; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.NO_SUBSCRIPTION_EXISTED; +import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.PACKET_TOO_LARGE; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.PAYLOAD_FORMAT_INVALID; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.PROTOCOL_ERROR; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttReasonCodes.QOS_NOT_SUPPORTED; @@ -111,7 +112,6 @@ import io.aklivity.zilla.runtime.binding.mqtt.internal.types.Flyweight; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttBinaryFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttCapabilities; -import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttEndReasonCode; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttMessageFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttPayloadFormat; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.MqttQoS; @@ -147,10 +147,10 @@ import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.FlushFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttBeginExFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttDataExFW; -import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttEndExFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttFlushExFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttPublishDataExFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttResetExFW; +import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.MqttSessionDataKind; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.ResetFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.SignalFW; import io.aklivity.zilla.runtime.binding.mqtt.internal.types.stream.WindowFW; @@ -242,7 +242,6 @@ public final class MqttServerFactory implements MqttStreamFactory private final MqttBeginExFW.Builder mqttPublishBeginExRW = new MqttBeginExFW.Builder(); private final MqttBeginExFW.Builder mqttSubscribeBeginExRW = new MqttBeginExFW.Builder(); private final MqttBeginExFW.Builder mqttSessionBeginExRW = new MqttBeginExFW.Builder(); - private final MqttEndExFW.Builder mqttEndExRW = new MqttEndExFW.Builder(); private final MqttDataExFW.Builder mqttPublishDataExRW = new MqttDataExFW.Builder(); private final MqttDataExFW.Builder mqttSubscribeDataExRW = new MqttDataExFW.Builder(); private final MqttDataExFW.Builder mqttSessionDataExRW = new MqttDataExFW.Builder(); @@ -304,6 +303,7 @@ public final class MqttServerFactory implements MqttStreamFactory private final MqttServerDecoder decodeInitialType = this::decodeInitialType; private final MqttServerDecoder decodePacketType = this::decodePacketType; private final MqttServerDecoder decodeConnect = this::decodeConnect; + private final MqttServerDecoder decodeConnectPayload = this::decodeConnectPayload; private final MqttServerDecoder decodePublish = this::decodePublish; private final MqttServerDecoder decodeSubscribe = this::decodeSubscribe; private final MqttServerDecoder decodeUnsubscribe = this::decodeUnsubscribe; @@ -314,7 +314,8 @@ public final class MqttServerFactory implements MqttStreamFactory private final Map decodersByPacketType; private final boolean session; - private final String serverReference; + private final String serverRef; + private int maximumPacketSize; { final Map decodersByPacketType = new EnumMap<>(MqttPacketType.class); @@ -415,6 +416,7 @@ public MqttServerFactory( this.keepAliveMinimum = config.keepAliveMinimum(); this.keepAliveMaximum = config.keepAliveMaximum(); this.maximumQos = config.maximumQos(); + this.maximumPacketSize = writeBuffer.capacity(); this.retainedMessages = config.retainAvailable() ? (byte) 1 : 0; this.wildcardSubscriptions = config.wildcardSubscriptionAvailable() ? (byte) 1 : 0; this.subscriptionIdentifiers = config.subscriptionIdentifierAvailable() ? (byte) 1 : 0; @@ -429,7 +431,7 @@ public MqttServerFactory( final Optional clientId = Optional.ofNullable(config.clientId()).map(String16FW::new); this.supplyClientId = clientId.isPresent() ? clientId::get : () -> new String16FW(UUID.randomUUID().toString()); - this.serverReference = config.serverReference(); + this.serverRef = config.serverReference(); } @Override @@ -762,11 +764,8 @@ private int decodeInitialType( break decode; } - if (limit - packet.limit() >= length) - { - server.decodeablePacketBytes = packet.sizeof() + length; - server.decoder = decodePacketType; - } + server.decodeablePacketBytes = packet.sizeof() + length; + server.decoder = decodePacketType; } return offset; @@ -789,7 +788,12 @@ private int decodePacketType( final MqttPacketType packetType = MqttPacketType.valueOf(packet.typeAndFlags() >> 4); final MqttServerDecoder decoder = decodersByPacketType.getOrDefault(packetType, decodeUnknownType); - if (limit - packet.limit() >= length) + if (packet.sizeof() + length > maximumPacketSize) + { + server.onDecodeError(traceId, authorization, PACKET_TOO_LARGE); + server.decoder = decodeIgnoreAll; + } + else if (limit - packet.limit() >= length) { server.decodeablePacketBytes = packet.sizeof() + length; server.decoder = decoder; @@ -817,6 +821,7 @@ private int decodeConnect( int reasonCode = SUCCESS; final MqttConnectFW mqttConnect = mqttConnectRO.tryWrap(buffer, offset, limit); + int flags = 0; decode: { if (mqttConnect == null) @@ -825,7 +830,8 @@ private int decodeConnect( break decode; } - int flags = mqttConnect.flags(); + server.decodableRemainingBytes = mqttConnect.remainingLength(); + flags = mqttConnect.flags(); reasonCode = decodeConnectType(mqttConnect, flags); if (reasonCode != SUCCESS) @@ -846,6 +852,9 @@ private int decodeConnect( } progress = server.onDecodeConnect(traceId, authorization, buffer, progress, limit, mqttConnect); + + final int decodedLength = progress - offset - 2; + server.decodableRemainingBytes -= decodedLength; } if (reasonCode != SUCCESS) @@ -853,6 +862,31 @@ private int decodeConnect( server.onDecodeError(traceId, authorization, reasonCode); server.decoder = decodeIgnoreAll; } + else + { + server.decoder = decodeConnectPayload; + } + } + + return progress; + } + + private int decodeConnectPayload( + MqttServer server, + final long traceId, + final long authorization, + final long budgetId, + final DirectBuffer buffer, + final int offset, + final int limit) + { + int progress = offset; + + progress = server.onDecodeConnectPayload(traceId, authorization, buffer, progress, limit); + server.decodableRemainingBytes -= progress - offset; + if (server.decodableRemainingBytes == 0) + { + server.decoder = decodePacketType; } return progress; @@ -1219,19 +1253,19 @@ private final class MqttServer private long keepAliveTimeoutAt; private boolean serverDefinedKeepAlive = false; - private boolean cleanStart = false; private short keepAlive; private long keepAliveTimeout; + private int connectFlags; private boolean connected; private short topicAliasMaximum = 0; - private int maximumPacketSize = Integer.MAX_VALUE; private int sessionExpiryInterval = 0; private boolean assignedClientId = false; private int propertyMask = 0; private int state; private long sessionId; + private int decodableRemainingBytes; private MqttServer( Function credentials, @@ -1484,10 +1518,7 @@ private void onKeepAliveTimeoutSignal( { if (session) { - final MqttEndExFW.Builder builder = mqttEndExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) - .typeId(mqttTypeId) - .reasonCode(r -> r.set(MqttEndReasonCode.KEEP_ALIVE_EXPIRY)); - sessionStream.doSessionAppEnd(traceId, builder.build()); + sessionStream.doSessionAbort(traceId); } onDecodeError(traceId, authorization, KEEP_ALIVE_TIMEOUT); decoder = decodeIgnoreAll; @@ -1563,14 +1594,15 @@ private byte decodeConnectProperties( break; case KIND_RECEIVE_MAXIMUM: case KIND_MAXIMUM_PACKET_SIZE: - final int maximumPacketSize = (int) mqttProperty.maximumPacketSize(); - if (maximumPacketSize == 0 || isSetMaximumPacketSize(propertyMask)) + final int maxConnectPacketSize = (int) mqttProperty.maximumPacketSize(); + if (maxConnectPacketSize == 0 || isSetMaximumPacketSize(propertyMask)) { reasonCode = PROTOCOL_ERROR; break decode; } this.propertyMask |= CONNECT_TOPIC_ALIAS_MAXIMUM_MASK; - this.maximumPacketSize = maximumPacketSize; + //TODO: remove this once we will support large messages + maximumPacketSize = Math.min(maxConnectPacketSize, maximumPacketSize); break; case KIND_REQUEST_RESPONSE_INFORMATION: case KIND_REQUEST_PROBLEM_INFORMATION: @@ -1639,23 +1671,54 @@ else if (length > MAXIMUM_CLIENT_ID_LENGTH) break decode; } + final MqttBindingConfig binding = bindings.get(routedId); + + final MqttRouteConfig resolved = binding != null ? binding.resolve(authorization) : null; + + keepAlive = (short) Math.min(Math.max(connect.keepAlive(), keepAliveMinimum), keepAliveMaximum); + serverDefinedKeepAlive = keepAlive != connect.keepAlive(); + keepAliveTimeout = Math.round(TimeUnit.SECONDS.toMillis(keepAlive) * 1.5); + connectFlags = connect.flags(); + doSignalKeepAliveTimeout(); + + if (session) + { + resolveSession(traceId, authorization, resolved.id, connectFlags); + } + + doCancelConnectTimeout(); + } + + progress = connect.limit(); + if (reasonCode != SUCCESS) + { + doCancelConnectTimeout(); + doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, false, null); + doNetworkEnd(traceId, authorization); + decoder = decodeIgnoreAll; + } + + return progress; + } + + private int onDecodeConnectPayload( + long traceId, + long authorization, + DirectBuffer buffer, + int progress, + int limit) + { + byte reasonCode; + decode: + { final MqttConnectPayload payload = mqttConnectPayloadRO.reset(); - progress = connect.limit(); - progress = payload.decode(buffer, progress, limit, connect.flags()); + int connectPayloadLimit = payload.decode(buffer, progress, limit, connectFlags); reasonCode = payload.reasonCode; if (reasonCode != SUCCESS) { break decode; } - if (isCleanStart(connect.flags())) - { - this.cleanStart = true; - } - keepAlive = (short) Math.min(Math.max(connect.keepAlive(), keepAliveMinimum), keepAliveMaximum); - serverDefinedKeepAlive = keepAlive != connect.keepAlive(); - keepAliveTimeout = Math.round(TimeUnit.SECONDS.toMillis(keepAlive) * 1.5); - doSignalKeepAliveTimeout(); long sessionAuth = authorization; if (guard != null) @@ -1690,36 +1753,75 @@ else if (this.authField.equals(MqttConnectProperty.PASSWORD)) } this.sessionId = sessionAuth; - if (session) - { - resolveSession(traceId, sessionAuth, resolved.id, connect, payload); - } - else + + if (!session) { - doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, false, null); + doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, + false, null); connected = true; } - doCancelConnectTimeout(); + final int flags = connectFlags; + final boolean willFlagSet = isSetWillFlag(flags); + final int willFlags = decodeWillFlags(flags); + final int willQos = decodeWillQos(flags); - decoder = decodePacketType; - } + if (session && willFlagSet) + { + final MqttDataExFW.Builder sessionDataExBuilder = + mqttSessionDataExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) + .typeId(mqttTypeId) + .session(s -> s.kind(k -> k.set(MqttSessionDataKind.WILL))); - if (reasonCode == BAD_USER_NAME_OR_PASSWORD) - { - doCancelConnectTimeout(); - doNetworkEnd(traceId, authorization); - decoder = decodeIgnoreAll; - progress = connect.limit(); + final MqttMessageFW.Builder willMessageBuilder = + mqttMessageFW.wrap(willMessageBuffer, 0, willMessageBuffer.capacity()) + .topic(payload.willTopic) + .delay(payload.willDelay) + .qos(willQos) + .flags(willFlags) + .expiryInterval(payload.expiryInterval) + .contentType(payload.contentType) + .format(f -> f.set(payload.payloadFormat)) + .responseTopic(payload.responseTopic) + .correlation(c -> c.bytes(payload.correlationData)); + + final Array32FW userProperties = willUserPropertiesRW.build(); + userProperties.forEach( + c -> willMessageBuilder.propertiesItem(p -> p.key(c.key()).value(c.value()))); + willMessageBuilder.payload(p -> p.bytes(payload.willPayload.bytes())); + + final MqttMessageFW will = willMessageBuilder.build(); + final int willPayloadSize = willMessageBuilder.sizeof(); + + if (!sessionStream.hasSessionWindow(willPayloadSize)) + { + break decode; + } + sessionStream.doSessionData(traceId, willPayloadSize, sessionDataExBuilder.build(), will); + } + progress = connectPayloadLimit; } - else if (reasonCode != SUCCESS) + + if (reasonCode != SUCCESS) { doCancelConnectTimeout(); - doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, false, null); + + if (reasonCode != BAD_USER_NAME_OR_PASSWORD) + { + doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, false, null); + } + + if (session) + { + sessionStream.doSessionAppEnd(traceId, EMPTY_OCTETS); + } doNetworkEnd(traceId, authorization); + decoder = decodeIgnoreAll; - progress = connect.limit(); + progress = limit; } + + return progress; } @@ -1727,43 +1829,16 @@ private void resolveSession( long traceId, long authorization, long resolvedId, - MqttConnectFW connect, - MqttConnectPayload payload) + int flags) { - final int flags = connect.flags(); - - final boolean willFlagSet = isSetWillFlag(flags); - final MqttBeginExFW.Builder builder = mqttSessionBeginExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) .typeId(mqttTypeId) - .session(sessionBuilder -> - { - sessionBuilder.clientId(clientId); - sessionBuilder.expiry(sessionExpiryInterval); - sessionBuilder.serverReference(serverReference); - if (willFlagSet) - { - final int willFlags = decodeWillFlags(flags); - final int willQos = decodeWillQos(flags); - final MqttMessageFW.Builder willMessageBuilder = - mqttMessageFW.wrap(willMessageBuffer, 0, willMessageBuffer.capacity()) - .topic(payload.willTopic) - .delay(payload.willDelay) - .qos(willQos) - .flags(willFlags) - .expiryInterval(payload.expiryInterval) - .contentType(payload.contentType) - .format(f -> f.set(payload.payloadFormat)) - .responseTopic(payload.responseTopic) - .correlation(c -> c.bytes(payload.correlationData)); - - final Array32FW userProperties = willUserPropertiesRW.build(); - userProperties.forEach( - c -> willMessageBuilder.propertiesItem(p -> p.key(c.key()).value(c.value()))); - willMessageBuilder.payload(p -> p.bytes(payload.willPayload.bytes())); - sessionBuilder.will(willMessageBuilder.build()); - } - }); + .session(sessionBuilder -> sessionBuilder + .flags(flags) + .expiry(sessionExpiryInterval) + .clientId(clientId) + .serverRef(serverRef) + ); if (sessionStream == null) { @@ -1945,6 +2020,11 @@ private void onDecodeSubscribe( if (session) { + final MqttDataExFW.Builder sessionDataExBuilder = + mqttSessionDataExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) + .typeId(mqttTypeId) + .session(sessionBuilder -> sessionBuilder.kind(k -> k.set(MqttSessionDataKind.STATE))); + final MqttSessionStateFW.Builder state = mqttSessionStateFW.wrap(sessionStateBuffer, 0, sessionStateBuffer.capacity()); @@ -1968,7 +2048,7 @@ private void onDecodeSubscribe( final MqttSessionStateFW sessionState = state.build(); final int payloadSize = sessionState.sizeof(); - sessionStream.doSessionData(traceId, payloadSize, sessionState); + sessionStream.doSessionData(traceId, payloadSize, sessionDataExBuilder.build(), sessionState); } else { @@ -2078,6 +2158,11 @@ private void doSendSessionState( long traceId, List topicFilters) { + final MqttDataExFW.Builder sessionDataExBuilder = + mqttSessionDataExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) + .typeId(mqttTypeId) + .session(sessionBuilder -> sessionBuilder.kind(k -> k.set(MqttSessionDataKind.STATE))); + List currentState = sessionStream.subscriptions(); List newState = currentState.stream() .filter(subscription -> !topicFilters.contains(subscription.filter)) @@ -2098,7 +2183,7 @@ private void doSendSessionState( final MqttSessionStateFW sessionState = sessionStateBuilder.build(); final int payloadSize = sessionState.sizeof(); - sessionStream.doSessionData(traceId, payloadSize, sessionState); + sessionStream.doSessionData(traceId, payloadSize, sessionDataExBuilder.build(), sessionState); } private void sendUnsuback( @@ -2162,13 +2247,14 @@ private void onDecodeDisconnect( state = MqttState.closingInitial(state); if (session) { - final MqttEndExFW.Builder builder = mqttEndExRW.wrap(sessionExtBuffer, 0, sessionExtBuffer.capacity()) - .typeId(mqttTypeId) - .reasonCode(r -> r.set( - disconnect.reasonCode() == DISCONNECT_WITH_WILL_MESSAGE ? - MqttEndReasonCode.DISCONNECT_WITH_WILL : - MqttEndReasonCode.DISCONNECT)); - sessionStream.doSessionAppEnd(traceId, builder.build()); + if (disconnect.reasonCode() == DISCONNECT_WITH_WILL_MESSAGE) + { + sessionStream.doSessionAbort(traceId); + } + else + { + sessionStream.doSessionAppEnd(traceId, EMPTY_OCTETS); + } } closeStreams(traceId, authorization); doNetworkEnd(traceId, authorization); @@ -2464,6 +2550,12 @@ private void doEncodeConnack( MqttPropertyFW mqttProperty; if (reasonCode == SUCCESS) { + //TODO: remove this once we support large messages + mqttProperty = mqttPropertyRW.wrap(propertyBuffer, propertiesSize, propertyBuffer.capacity()) + .maximumPacketSize(maximumPacketSize) + .build(); + propertiesSize = mqttProperty.limit(); + if (sessionExpiryInterval > sessionExpiryIntervalLimit) { mqttProperty = mqttPropertyRW.wrap(propertyBuffer, propertiesSize, propertyBuffer.capacity()) @@ -3020,6 +3112,7 @@ private void onSessionWindow( final long authorization = window.authorization(); final long budgetId = window.budgetId(); final int padding = window.padding(); + final boolean wasOpen = MqttState.initialOpened(state); if (!MqttState.initialOpened(state)) { @@ -3040,6 +3133,11 @@ private void onSessionWindow( assert initialAck <= initialSeq; + if (!wasOpen) + { + decodeNetwork(traceId); + } + if (budgetId != 0L && debitorIndex == NO_DEBITOR_INDEX) { debitor = supplyDebitor.apply(budgetId); @@ -3065,20 +3163,20 @@ private void onSessionReset( if (mqttResetEx != null) { - String16FW serverReference = mqttResetEx.serverReference(); - boolean serverReferenceExists = serverReference != null; + String16FW serverRef = mqttResetEx.serverRef(); + boolean serverRefExists = serverRef != null; - byte reasonCode = serverReferenceExists ? SERVER_MOVED : SESSION_TAKEN_OVER; + byte reasonCode = serverRefExists ? SERVER_MOVED : SESSION_TAKEN_OVER; if (!connected) { doCancelConnectTimeout(); doEncodeConnack(traceId, authorization, reasonCode, assignedClientId, - false, serverReference); + false, serverRef); } else { - doEncodeDisconnect(traceId, authorization, reasonCode, serverReferenceExists ? serverReference : null); + doEncodeDisconnect(traceId, authorization, reasonCode, serverRefExists ? serverRef : null); } } setInitialClosed(); @@ -3150,9 +3248,9 @@ private void onSessionData( boolean sessionPresent = false; if (sessionState != null) { - if (cleanStart) + if (isCleanStart(connectFlags)) { - doSessionData(traceId, 0, emptyRO); + doSessionData(traceId, 0, emptyRO, emptyRO); } else { @@ -3274,16 +3372,23 @@ private void doSessionBegin( } } + private boolean hasSessionWindow( + int length) + { + return initialMax - (initialSeq - initialAck) >= length + initialPad; + } + private void doSessionData( long traceId, int reserved, - Flyweight sessionState) + Flyweight dataEx, + Flyweight payload) { assert MqttState.initialOpening(state); - final DirectBuffer buffer = sessionState.buffer(); - final int offset = sessionState.offset(); - final int limit = sessionState.limit(); + final DirectBuffer buffer = payload.buffer(); + final int offset = payload.offset(); + final int limit = payload.limit(); final int length = limit - offset; assert reserved >= length + initialPad; @@ -3292,7 +3397,7 @@ private void doSessionData( if (!MqttState.closed(state)) { doData(application, originId, routedId, initialId, initialSeq, initialAck, initialMax, - traceId, sessionId, budgetId, reserved, buffer, offset, length, EMPTY_OCTETS); + traceId, sessionId, budgetId, reserved, buffer, offset, length, dataEx); initialSeq += reserved; assert initialSeq <= initialAck + initialMax; diff --git a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/ConnectionIT.java b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/ConnectionIT.java index dedc52e7bd..95fd384785 100644 --- a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/ConnectionIT.java +++ b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/ConnectionIT.java @@ -25,6 +25,7 @@ import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttConfigurationTest.SHARED_SUBSCRIPTION_AVAILABLE_NAME; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttConfigurationTest.WILDCARD_SUBSCRIPTION_AVAILABLE_NAME; import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_DRAIN_ON_CLOSE; +import static io.aklivity.zilla.runtime.engine.test.EngineRule.ENGINE_BUFFER_SLOT_CAPACITY_NAME; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.rules.RuleChain.outerRule; @@ -624,4 +625,19 @@ public void shouldConnectAndSubscribeUnfragmented() throws Exception { k3po.finish(); } + + @Test + @Configuration("server.yaml") + @Specification({ + "${net}/connect.reject.packet.too.large/client"}) + @Configure(name = SESSION_AVAILABLE_NAME, value = "false") + @Configure(name = WILDCARD_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = SHARED_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = MAXIMUM_QOS_NAME, value = "2") + @Configure(name = SESSION_EXPIRY_INTERVAL_NAME, value = "0") + @Configure(name = ENGINE_BUFFER_SLOT_CAPACITY_NAME, value = "8192") + public void shouldRejectPacketTooLarge() throws Exception + { + k3po.finish(); + } } diff --git a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/PublishIT.java b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/PublishIT.java index 389414a5eb..078a49afc9 100644 --- a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/PublishIT.java +++ b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/PublishIT.java @@ -25,6 +25,7 @@ import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttConfigurationTest.TOPIC_ALIAS_MAXIMUM_NAME; import static io.aklivity.zilla.runtime.binding.mqtt.internal.MqttConfigurationTest.WILDCARD_SUBSCRIPTION_AVAILABLE_NAME; import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_DRAIN_ON_CLOSE; +import static io.aklivity.zilla.runtime.engine.test.EngineRule.ENGINE_BUFFER_SLOT_CAPACITY_NAME; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.rules.RuleChain.outerRule; @@ -478,4 +479,19 @@ public void shouldPublishEmptyMessage() throws Exception { k3po.finish(); } + + @Test + @Configuration("server.yaml") + @Specification({ + "${net}/publish.reject.packet.too.large/client"}) + @Configure(name = SESSION_AVAILABLE_NAME, value = "false") + @Configure(name = WILDCARD_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = SHARED_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = MAXIMUM_QOS_NAME, value = "2") + @Configure(name = SESSION_EXPIRY_INTERVAL_NAME, value = "0") + @Configure(name = ENGINE_BUFFER_SLOT_CAPACITY_NAME, value = "8192") + public void shouldRejectPacketTooLarge() throws Exception + { + k3po.finish(); + } } diff --git a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/SessionIT.java b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/SessionIT.java index 489b9c62ae..9937e3a2b1 100644 --- a/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/SessionIT.java +++ b/incubator/binding-mqtt/src/test/java/io/aklivity/zilla/runtime/binding/mqtt/internal/stream/SessionIT.java @@ -172,6 +172,21 @@ public void shouldStoreWillMessageInSessionState() throws Exception k3po.finish(); } + @Test + @Configuration("server.yaml") + @Specification({ + "${net}/session.connect.payload.fragmented/client", + "${app}/session.will.message.retain/server"}) + @Configure(name = WILDCARD_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = SHARED_SUBSCRIPTION_AVAILABLE_NAME, value = "true") + @Configure(name = MAXIMUM_QOS_NAME, value = "2") + @Configure(name = SESSION_EXPIRY_INTERVAL_NAME, value = "10") + public void shouldStoreWillMessageInSessionStatePayloadFragmented() throws Exception + { + k3po.finish(); + } + + @Test @Configuration("server.yaml") @Specification({ @@ -190,7 +205,7 @@ public void shouldCloseSessionNormalDisconnect() throws Exception @Configuration("server.yaml") @Specification({ "${net}/session.will.message.disconnect.with.will.message/client", - "${app}/session.will.message.disconnect.with.will.message/server"}) + "${app}/session.will.message.abort/server"}) @Configure(name = WILDCARD_SUBSCRIPTION_AVAILABLE_NAME, value = "true") @Configure(name = SHARED_SUBSCRIPTION_AVAILABLE_NAME, value = "true") @Configure(name = MAXIMUM_QOS_NAME, value = "2") @@ -204,7 +219,7 @@ public void shouldCloseSessionDisconnectWithWill() throws Exception @Configuration("server.yaml") @Specification({ "${net}/session.will.message.no.ping.within.keep.alive/client", - "${app}/session.will.message.no.ping.within.keep.alive/server"}) + "${app}/session.will.message.abort/server"}) @Configure(name = WILDCARD_SUBSCRIPTION_AVAILABLE_NAME, value = "true") @Configure(name = SHARED_SUBSCRIPTION_AVAILABLE_NAME, value = "true") @Configure(name = MAXIMUM_QOS_NAME, value = "2") diff --git a/incubator/command-log/src/main/java/io/aklivity/zilla/runtime/command/log/internal/LoggableStream.java b/incubator/command-log/src/main/java/io/aklivity/zilla/runtime/command/log/internal/LoggableStream.java index 66636d3340..52a15e91ec 100644 --- a/incubator/command-log/src/main/java/io/aklivity/zilla/runtime/command/log/internal/LoggableStream.java +++ b/incubator/command-log/src/main/java/io/aklivity/zilla/runtime/command/log/internal/LoggableStream.java @@ -45,8 +45,6 @@ import io.aklivity.zilla.runtime.command.log.internal.types.KafkaPartitionFW; import io.aklivity.zilla.runtime.command.log.internal.types.KafkaSkipFW; import io.aklivity.zilla.runtime.command.log.internal.types.KafkaValueMatchFW; -import io.aklivity.zilla.runtime.command.log.internal.types.MqttEndReasonCode; -import io.aklivity.zilla.runtime.command.log.internal.types.MqttMessageFW; import io.aklivity.zilla.runtime.command.log.internal.types.MqttPayloadFormat; import io.aklivity.zilla.runtime.command.log.internal.types.MqttTopicFilterFW; import io.aklivity.zilla.runtime.command.log.internal.types.MqttUserPropertyFW; @@ -99,7 +97,6 @@ import io.aklivity.zilla.runtime.command.log.internal.types.stream.KafkaResetExFW; import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttBeginExFW; import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttDataExFW; -import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttEndExFW; import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttFlushExFW; import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttPublishBeginExFW; import io.aklivity.zilla.runtime.command.log.internal.types.stream.MqttPublishDataExFW; @@ -145,7 +142,6 @@ public final class LoggableStream implements AutoCloseable private final MqttBeginExFW mqttBeginExRO = new MqttBeginExFW(); private final MqttDataExFW mqttDataExRO = new MqttDataExFW(); private final MqttFlushExFW mqttFlushExRO = new MqttFlushExFW(); - private final MqttEndExFW mqttEndExRO = new MqttEndExFW(); private final AmqpBeginExFW amqpBeginExRO = new AmqpBeginExFW(); private final AmqpDataExFW amqpDataExRO = new AmqpDataExFW(); @@ -269,7 +265,6 @@ public final class LoggableStream implements AutoCloseable beginHandlers.put(labels.lookupLabelId("mqtt"), this::onMqttBeginEx); dataHandlers.put(labels.lookupLabelId("mqtt"), this::onMqttDataEx); flushHandlers.put(labels.lookupLabelId("mqtt"), this::onMqttFlushEx); - endHandlers.put(labels.lookupLabelId("mqtt"), this::onMqttEndEx); } if (hasExtensionType.test("amqp")) @@ -1310,34 +1305,10 @@ private void onMqttSessionBeginEx( { final String clientId = session.clientId().asString(); final int expiry = session.expiry(); - final MqttMessageFW will = session.will(); + final String serverRef = session.serverRef().asString(); out.printf(verboseFormat, index, offset, timestamp, - format("[session] %s %d", clientId, expiry)); - if (will != null) - { - final String willTopic = will.topic().asString(); - final int delay = will.delay(); - final int flags = will.flags(); - final int expiryInterval = will.expiryInterval(); - final String contentType = will.contentType().asString(); - final MqttPayloadFormat format = will.format().get(); - final String responseTopic = will.responseTopic().asString(); - final String correlation = asString(will.correlation().bytes()); - final Array32FW userProperties = will.properties(); - final String payload = asString(will.payload().bytes()); - out.printf(verboseFormat, index, offset, timestamp, format("will topic: %s", willTopic)); - out.printf(verboseFormat, index, offset, timestamp, format("will delay: %d", delay)); - out.printf(verboseFormat, index, offset, timestamp, format("will flags: %d", flags)); - out.printf(verboseFormat, index, offset, timestamp, format("will expiry: %d", expiryInterval)); - out.printf(verboseFormat, index, offset, timestamp, format("will content type: %s", contentType)); - out.printf(verboseFormat, index, offset, timestamp, format("will format: %s", format.name())); - out.printf(verboseFormat, index, offset, timestamp, format("will response topic: %s", responseTopic)); - out.printf(verboseFormat, index, offset, timestamp, format("will correlation: %s", correlation)); - out.printf(verboseFormat, index, offset, timestamp, format("will payload: %s", payload)); - userProperties.forEach(u -> out.printf(verboseFormat, index, offset, timestamp, - format("will user property: %s %s ", u.key(), u.value()))); - } + format("[session] %s %d %s", clientId, expiry, serverRef)); } private void onMqttDataEx( @@ -1420,18 +1391,6 @@ private void onMqttFlushEx( format("%s %d %d", f.pattern(), f.subscriptionId(), f.flags()))); } - private void onMqttEndEx( - final EndFW end) - { - final int offset = end.offset() - HEADER_LENGTH; - final long timestamp = end.timestamp(); - final OctetsFW extension = end.extension(); - - final MqttEndExFW mqttEndEx = mqttEndExRO.wrap(extension.buffer(), extension.offset(), extension.limit()); - final MqttEndReasonCode reasonCode = mqttEndEx.reasonCode().get(); - out.printf(verboseFormat, index, offset, timestamp, format("%s", reasonCode.name())); - } - private void onAmqpBeginEx( final BeginFW begin) {