I'm having an issue with the pn_messenger_settle API that I'd like to see if
you can clear up. We have a loop that uses non-blocking sends to transmit
messages and attempts to settle them when they come back from the server. The
server replies in non-sequential order and when we attempt to settle we get an
PN_STATUS_UNKNOW. The message have been accepted, but it looks like the output
window was shifted beyond the settle transaction prematurely. Here are the
steps as to what is happening:
* The application is sending 20 messages to the server
* We set the outgoing window to 10
* We send message index 0 through 9
* The server sends disposition frames back in this order 1, 5, 9, 2, 9,
6, 7
* We settle the trackers in this order 1, 3, 5, 7, 9
* We then send message index 10 through 14
* The server sends disposition frames for message 0, 4, 8
* Then we settle frame 0 and get an unknown Status
* ...
It seems that if we try to settle any tracker that is
[OutgoingWindowSize-MaxTrackerSent] then we get an PN_STATUS_UNKNOWN. Is there
any way to remedy this situation?
I've attached the proton trace that illustrates this situation.
Thank you for the help,
Jelani Brandon
Starting the EventHub Client Upper Layer SendAsync Sample
(v0.2.0-29-g82e7a5d-dirty)...
Info: Event Hubs Client SDK for C, version v0.2.0-29-g82e7a5d-dirty
[00A27068]: -> SASL
[00A27068]:0 -> @sasl-init(65) [mechanism=:PLAIN,
initial-response=b"\x00SendRule\x00Ir5oZoZVLM4lO8oNLpLbHInsp3saI/BcqZFMpvyXtbE="]
Info: Calling DoWork
[00A27068]: <- SASL
[00A27068]:0 <- @sasl-mechanisms(64) [sasl-server-mechanisms=@PN_SYMBOL[:PLAIN,
:EXTERNAL]]
[00A27068]:0 <- @sasl-outcome(68) [code=0, additional-data=b"Welcome!"]
[00A27068]: -> AMQP
[00A27068]:0 -> @open(16) [container-id="0ece6f0d-097d-40e5-a3c0-a59da761f9d3",
hostname="simplesample.servicebus.windows.net"]
[00A27068]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647,
outgoing-window=10]
[00A27068]:0 -> @attach(18) [name="sender-xxx", handle=0, role=false,
snd-settle-mode=1, rcv-settle-mode=0, source=@source(40) [address="ingress",
durable=0, timeout=0, dynamic=false], target=@target(41) [address="ingress",
durable=0, timeout=0, dynamic=false], initial-delivery-count=0]
Info: Calling DoWork
[00A27068]: <- AMQP
[00A27068]:0 <- @open(16) [container-id="941562e4078a4da883069f95565bfaed_G18",
max-frame-size=65536, channel-max=4999, idle-time-out=240000]
[00A27068]:0 <- @begin(17) [remote-channel=0, next-outgoing-id=1,
incoming-window=10, outgoing-window=5000, handle-max=255]
[00A27068]:0 <- @attach(18) [name="sender-xxx", handle=0, role=true,
snd-settle-mode=1, rcv-settle-mode=0, source=@source(40) [address="ingress",
durable=0, timeout=0, dynamic=false], target=@target(41) [address="ingress",
durable=0, timeout=0, dynamic=false], max-message-size=262144,
properties={:"com.microsoft:tracking-id"="941562e4078a4da883069f95565bfaed_G18"}]
[00A27068]:0 <- @flow(19) [next-incoming-id=0, incoming-window=10,
next-outgoing-id=1, outgoing-window=5000, handle=0, delivery-count=0,
link-credit=300, available=0, echo=false]
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=0,
delivery-tag=b"\x00\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1001,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=1,
delivery-tag=b"\x01\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1002,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=2,
delivery-tag=b"\x02\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1003,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=3,
delivery-tag=b"\x03\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1004,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=4,
delivery-tag=b"\x04\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1005,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=5,
delivery-tag=b"\x05\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1006,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=6,
delivery-tag=b"\x06\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1007,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=7,
delivery-tag=b"\x07\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1008,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=8,
delivery-tag=b"\x08\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1009,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=9,
delivery-tag=b"\x09\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1010,
"name":"SendAsync_UpperLayer_Sample"}"
Info: Calling DoWork
[00A27068]:0 <- @disposition(21) [role=true, first=1, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=5, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=9, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=2, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=3, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=6, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @flow(19) [next-incoming-id=10, incoming-window=6,
next-outgoing-id=1, outgoing-window=5000]
[00A27068]:0 <- @disposition(21) [role=true, first=7, settled=true,
state=@accepted(36) []]
Info: Calling DoWork
Info: Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 1
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 3
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 5
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 7
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 9
[00A27068]:0 -> @disposition(21) [role=false, first=0, last=0, settled=true]
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=10,
delivery-tag=b"\x0a\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1012,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=11,
delivery-tag=b"\x0b\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1013,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=12,
delivery-tag=b"\x0c\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1014,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=13,
delivery-tag=b"\x0d\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1015,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @disposition(21) [role=false, first=4, last=4, settled=true]
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=14,
delivery-tag=b"\x0e\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1016,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 <- @disposition(21) [role=true, first=0, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=4, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=8, settled=true,
state=@accepted(36) []]
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_UNKNOWN)...
Info: pn_messenger_settle tracker 0
Sequence id not found 0 store->lwm 5; store->hwm 15
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_UNKNOWN)...
Info: pn_messenger_settle tracker 4
Sequence id not found 4 store->lwm 5; store->hwm 15
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 8
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=15,
delivery-tag=b"\x0f\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1017,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 <- @disposition(21) [role=true, first=10, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=11, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @flow(19) [next-incoming-id=15, incoming-window=7,
next-outgoing-id=1, outgoing-window=5000]
[00A27068]:0 <- @disposition(21) [role=true, first=14, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=13, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=12, settled=true,
state=@accepted(36) []]
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=16,
delivery-tag=b"\x10\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1018,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=17,
delivery-tag=b"\x11\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1019,
"name":"SendAsync_UpperLayer_Sample"}"
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_UNKNOWN)...
Info: pn_messenger_settle tracker 2
Sequence id not found 2 store->lwm 8; store->hwm 18
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 10
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 12
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 14
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=18,
delivery-tag=b"\x12\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1011,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 -> @transfer(20) [handle=0, delivery-id=19,
delivery-tag=b"\x13\x00\x00\x00\x00\x00\x00\x00", message-format=2147563264,
settled=false, more=false] (179)
"\x00Sp\xd0\x00\x00\x00\x0b\x00\x00\x00\x05BP\x04@BR\x00\x00Ss\xd0\x00\x00\x00V\x00\x00\x00\x0d@@\xa13amqps://simplesample.servicebus.windows.net/ingress@@@@@\x83\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00@R\x00@\x00Su\xa0=\x00Su\xa08{"messageId":1020,
"name":"SendAsync_UpperLayer_Sample"}"
[00A27068]:0 <- @disposition(21) [role=true, first=17, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=16, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=15, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @flow(19) [next-incoming-id=18, incoming-window=10,
next-outgoing-id=1, outgoing-window=5000]
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_UNKNOWN)...
Info: pn_messenger_settle tracker 6
Sequence id not found 6 store->lwm 11; store->hwm 20
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 11
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 15
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 17
[00A27068]:0 <- @disposition(21) [role=true, first=19, settled=true,
state=@accepted(36) []]
[00A27068]:0 <- @disposition(21) [role=true, first=18, settled=true,
state=@accepted(36) []]
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 18
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 16
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 13
Info: Calling DoWork
Info: Callback result (EVENTHUBCLIENT_CONFIRMATION_OK)...
Info: pn_messenger_settle tracker 19
EventHubClient_Send.......Successful
[00A27068]:0 -> @detach(22) [handle=0, closed=true]
[00A27068]:0 -> @close(24) []
[00A27068]:0 <- @detach(22) [handle=0, closed=true]
[00A27068]:0 <- @close(24) []
[00A27068]: <- EOS
[00A27068]: -> EOS