Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Feature/327 RSocket support #625

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Nokinori
Copy link

@Nokinori Nokinori commented May 13, 2021

Hi there!
I created a simple implementation for RSocket #327.
GraphQL query is supported by RSocket REQUEST-RESPONSE. Available on graphql endpoint.
GraphQL subscription is supported by RSocket REQUEST-STREAM. Available on subscription endpoint.

Set up RSocket over WebSocket protocol by default on 7000 port.

But there is a question about subscription:
What about operations?

    GQL_CONNECTION_ACK("connection_ack"),
    GQL_CONNECTION_ERROR("connection_error"),
    GQL_CONNECTION_KEEP_ALIVE("ka"),
    GQL_DATA("data"),
    GQL_ERROR("error"),
    GQL_COMPLETE("complete"),

Do we really need to support it over RSocket? The start, end, error... frames are handled by RSocket native
Also here is code duplicate MonoAutoConfiguration.java. I'll refactor it after discussion about this feature :)

@oliemansm
Copy link
Member

Thanks a lot for the effort and your contribution! Please note that we're on the verge of merging a major module restructure, see #617. This means your PR will have to be updated in line with that one. You could already rebase your branch on that starter-reorganization branch or just wait until we've merged that one to master.

The GQL_ messages you've described are part of the Apollo Client subscription protocol. I'm not familiar (yet) with RSocket, but to be able to support Apollo Client subscriptions, that protocol should be supported. Maybe it could be extracted somehow to be used in both implementations, but haven't been able to look at it yet to judge.

@oliemansm oliemansm linked an issue May 13, 2021 that may be closed by this pull request
@Nokinori
Copy link
Author

@oliemansm Thank you for answer! I see #617 was merged. So I continue my work on rsocket implementation and try to find a way of Apollo Client subscription protocol problem.

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

Successfully merging this pull request may close these issues.

RSocket support for Webflux
2 participants