boostorg / boostorg/beast

SSL websocket: after async_close(), read handler got cancellation error code instead of error::closed

Open
#1,071 9 comments 1 reaction 1 assignee Claimed by @madmongo1 View on GitHub
Design
Dominant language
C++
Stars
4.8k
Forks
694
Avg merge
12h 48m
Merged PRs (30d)
1

Description

(using top of develop branch)

According to:
http://www.boost.org/doc/libs/1_66_0/libs/beast/doc/html/beast/ref/boost__beast__websocket__stream/async_close.html
> callers should continue reading until an error occurs. A read returning websocket::closed indicates a successful connection closure.

Test scenario:

Client and server both using SSL websockets and fully async Beast APIs.

Client calls async_close(). Close handler gets success error code. Read handler gets operation canceled error code, instead of expected websocket::error::closed.

Server's read handler was ok. It got the expected websocket::error::closed.

I also put a print statement in the SSL's async_teardown() in websocket/impl/ssl.ipp. It was reached in both client and server.

I can send you my test programs (Actually, they're the same ones I sent you for #1012 earlier)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.