Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing Client Connection Establishment #40

Open
9 tasks
OlegDokuka opened this issue Apr 10, 2020 · 2 comments
Open
9 tasks

Testing Client Connection Establishment #40

OlegDokuka opened this issue Apr 10, 2020 · 2 comments
Assignees
Labels

Comments

@OlegDokuka
Copy link
Member

OlegDokuka commented Apr 10, 2020

  • Failure Connection Establishment
    • client should be disposed when received ERROR[REJECTED_SETUP]
  • Failure Connection Establishment with RESUME flag enabled
    • SETUP frame but server doesn't support resumability. Server sends ERROR[REJECTED_RESUME]
    • RESUME frame but server doesn't support resumability. Server sends ERROR[REJECTED_RESUME]
    • RESUME frame but session has expired. Server sends ERROR[REJECTED_RESUME]
    • malformed SETUP with RESUME flag (e.g. no resume token) or without RESUME flag with resume token. Server sends ERROR[REJECTED_RESUME]
  • Failure Connection Establishment with LEASE flag enabled
    • Server without support leasing
@alex-dukhno alex-dukhno self-assigned this May 1, 2020
@alex-dukhno
Copy link
Collaborator

I suppose Successful Connection Establishment is done in scope #50 ?

@alex-dukhno alex-dukhno changed the title Connection Establishment Cases Testing Client Connection Establishment Jul 28, 2020
@alex-dukhno
Copy link
Collaborator

alex-dukhno commented Jul 28, 2020

Oleh Dokuka, [28.07.20 20:32]
On receiving a RESUME_OK, the client:
MUST assume that the next REQUEST, CANCEL, ERROR, and PAYLOAD frames have an implied position commencing from the last implied positions
MAY retransmit all REQUEST, CANCEL, ERROR, and PAYLOAD frames starting at the RESUME_OK Last Received Position field value from the server.
MAY send an ERROR[CONNECTION_ERROR|CONNECTION_CLOSE] frame indicating the end of the connection and MUST NOT attempt resumption again

Oleh Dokuka, [28.07.20 20:32]
On receiving a RESUME frame, the server:
MUST send an ERROR[REJECTED_RESUME] frame if the server does not support resuming operation.

Oleh Dokuka, [28.07.20 20:32]
use the RESUME Identification Token field to determine which client the resume pertains to. If the client is identified successfully, resumption MAY be continued. If not identified, then the server MUST send an ERROR[REJECTED_RESUME] frame.

Oleh Dokuka, [28.07.20 20:33]
Immediately upon successful connection, the client MUST send either a SETUP or RESUME frame with Stream ID of 0. Any other frame received that is NOT a SETUP|RESUME frame or a SETUP|RESUME frame with a Stream ID > 0, MUST cause the server to send an ERROR[INVALID_SETUP] and close the connection.

Oleh Dokuka, [28.07.20 20:33]
If the server does NOT accept the contents of the SETUP frame, the server MUST send back an ERROR[INVALID_SETUP|UNSUPPORTED_SETUP] and then close the connection.

The assumption is that the client will be dictating to the server what it desires to do. The server will decide to support that SETUP (accept it) or not (reject it). The ERROR[INVALID_SETUP|UNSUPPORTED_SETUP|REJECTED_SETUP] error code indicates the reason for the rejection.

A client MUST ignore an ERROR[INVALID_SETUP|UNSUPPORTED_SETUP|REJECTED_SETUP|REJECTED_RESUME] frame after it has completed connection establishment.

connectiom establishment completion means successfull completion of one or more request operations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants