You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, MsQuic with XDP provides the application level callbacks using internal buffers. This requires a mem copy from the MsQuic Internal buffers to the target application buffer. For large blob, allocating this memory and performing a memory copy
Proposed solution
Provide an option where the user can specify the Target buffer address where the data needs to be copied to and MsQuic core layer can automatically copy the data to the target buffer.
Additional context
No response
The text was updated successfully, but these errors were encountered:
Here is how we see how the implementation would look like:
Probably a new flag "QUIC_STREAM_OPEN_FLAG_USE_EXTERNAL_RECEIVE_BUFFERS" to opt-in the feature, when opening the stream
A new API function along the lines of "StreamProvideReceiveBuffers(stream, nb_buff, QUIC_BUFFERS* buff)"
The user can call this on an open stream to provide a list of buffers
The user would call it before starting the stream and may call it again later (on a receive callback, etc...) if it needs to provide more buffers
MsQuic would write the received data in the buffers in the order they are provided. A buffer would never be internally allocated or re-used: if MsQuic runs out of provided buffer space for receiving data, the stream would be failed.
The user would need to ensure the buffer remain valid until:
either the stream is closed, and no more data can be received
or a "receive" notification indicates all the bytes of the buffer
the user needs to keep track of the total number of bytes to know this
a "receive" notification could indicate only part of a buffer, multiple buffers, etc... depending on how the data is received
Describe the feature you'd like supported
Currently, MsQuic with XDP provides the application level callbacks using internal buffers. This requires a mem copy from the MsQuic Internal buffers to the target application buffer. For large blob, allocating this memory and performing a memory copy
Proposed solution
Provide an option where the user can specify the Target buffer address where the data needs to be copied to and MsQuic core layer can automatically copy the data to the target buffer.
Additional context
No response
The text was updated successfully, but these errors were encountered: