[
https://issues.apache.org/jira/browse/PROTON-516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14015507#comment-14015507
]
Andrew Stitcher commented on PROTON-516:
----------------------------------------
It looks to me like we can just remove the code in pn_do_open() that sets the
dispatcher's frame buffer size, because it is by default set to 4k when
constructing the dispatcher anyway,
> [proton-c] Dispatcher frame buffer set to peer's max frame size.
> ----------------------------------------------------------------
>
> Key: PROTON-516
> URL: https://issues.apache.org/jira/browse/PROTON-516
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: 0.6
> Reporter: Ken Giusti
> Assignee: Andrew Stitcher
> Fix For: 0.8
>
>
> The size of the output frame buffer used by the Transport is set
> unconditionally to the max frame size advertised by the peer:
> In transport.c::int pn_do_open(pn_dispatcher_t *disp):
> pn_buffer_ensure( disp->frame, disp->remote_max_frame );
> This can potentially exhaust memory on small memory systems (eg, embedded
> devices). Instead, the output frame buffer should grow as needed based on
> the size of the payloads generated, limited by the remote_max_frame value.
> And, of course, pn_buffer_ensure + caller should handle realloc failures
> instead of ignoring them.
--
This message was sent by Atlassian JIRA
(v6.2#6252)