The peers applet now use the applet API to send message instead of the
channel API. This way, it does not need to take care to request more room if
it fails to put data into the channel's buffer.
struct peer_prep_params *params)
{
int ret, msglen;
- struct stconn *sc = appctx_sc(appctx);
msglen = peer_prepare_msg(trash.area, trash.size, params);
if (!msglen) {
}
/* message to buffer */
- ret = ci_putblk(sc_ic(sc), trash.area, msglen);
+ ret = applet_putblk(appctx, trash.area, msglen);
if (ret <= 0) {
- if (ret == -1) {
- /* No more write possible */
- sc_need_room(sc);
- return -1;
- }
- appctx->st0 = PEER_SESS_ST_END;
+ if (ret != -1)
+ appctx->st0 = PEER_SESS_ST_END;
}
return ret;