I believe this could by a bug in network.framework.
So i've set up simple UDP syslog server using NWListener:
parameters.defaultProtocolStack.applicationProtocols = [NWProtocolFramer.Options(definition: SyslogProtocol.definition)]
and it works as intended reveiving every UDP message with isComplete flag true in handleInput when framer.parseInput is called.
But if i prepend additional protocol
parameters.defaultProtocolStack.applicationProtocols.insert(NWProtocolFramer.Options(definition: ValueLengthProtocol.definition), at: 0)
to the protocol stack which simply forwards the message to downstream protocol without any data manipulation
framer.deliverInputNoCopy(length: length, message: message, isComplete: true)
the downstream protocol receives isComplete false.
So the question is this a bug or what should be done to preserve isComplete flag ?
Post
Replies
Boosts
Views
Activity
I'm implementing custom protocol using NWListener and NWProtocolFramerImplementation
with transport options using
let parameters = NWParameters(dtls: nil, udp: NWProtocolUDP.Options())
parameters.defaultProtocolStack.applicationProtocols = [NWProtocolFramer.Options(definition: CustomProtocol.definition)]
let listener = try NWListener(using: parameters, on: port)
same for TCP with appropriate options.
how should we can get transport options(UDP|TCP) from framer when receiving data in parseInput ?
Because implementations for TCP and UDP can be different.
I am not touching protocol stacking intentionally as this is whole another topic.
now matter what view i create tor token it takes only first Text/Label element for display.
Is it possible to customize it so it would look something like in Mail app ?