Support for handling of extension frame · Issue #576 · rsocket/rsocket-java · GitHub
Skip to content

Support for handling of extension frame #576

Open

Description

@robertroeser

RSocket spec supports Extension frames:
https://github.com/rsocket/rsocket/blob/master/Protocol.md#frame-ext

Add a way to handle extension frames

Activity

  1. changed the title [-]Add Extenion Frame Support[/-] [+]Add Extension Frame Support[/+] on Feb 8, 2019
  2. nebhale commented on Feb 14, 2019

    @nebhale
    Member

    This or #582.

  3. linux-china commented on Dec 17, 2019

    @linux-china
    Contributor

    @robertroeser if possible to have draft design for frame extension. for example, an interface for Frame handler(ServiceLoader) and payload handler functional interface specification.

    public interface RSocketFrameExtensionHandler {
        int frameType();
    
        int streamIdType();
    
        FrameFlyweight frameFlyWeight();
        
        PayloadDecoder payloadDecoder();
        //functional interface class
        Class<?> handler();
    }
    
    public class RSocketHandlerImpl extends AbstractRSocket implements FrameExtRSocket {
    
        @Override
        public Mono<Payload> savePointAck(Payload payload) {
            return Mono.empty();
        }
    }
    
  4. self-assigned this
    on Dec 17, 2019
  5. OlegDokuka commented on Dec 17, 2019

    @OlegDokuka
    Member

    @linux-china I will take a look at what could be done

  6. yschimke commented on Dec 19, 2019

    @yschimke
    Member

    One handy pattern from the Scrooge Thrift compiler, when it doesn't understand elements in a thrift frame, it still allows pass through. So for example a thrift struct gets a new field added, or a new enum value is added which is unknown to the server based on it's deployed thrift IDL. It is still allowed to introspect that element even just pass through when the server is a proxy for example.

    Not sure we want that, or it implies a "must understand" discussion.

    e.g. https://twitter.github.io/scrooge/GeneratedCodeUsage.html

  7. OlegDokuka commented on Dec 19, 2019

    @OlegDokuka
    Member

    I guess it would work only in case of proxying on the level of the state machine (frame handler which interprets all the frames)

  8. added this to the 1.1 milestone on Apr 5, 2020
  9. changed the title [-]Add Extension Frame Support[/-] [+]Support for handling of extension frame[/+] on Apr 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions