You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@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();
}
}
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.
Activity
[-]Add Extenion Frame Support[/-][+]Add Extension Frame Support[/+]nebhale commentedon Feb 14, 2019
This or #582.
linux-china commentedon Dec 17, 2019
@robertroeser if possible to have draft design for frame extension. for example, an interface for Frame handler(ServiceLoader) and payload handler functional interface specification.
OlegDokuka commentedon Dec 17, 2019
@linux-china I will take a look at what could be done
yschimke commentedon Dec 19, 2019
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
OlegDokuka commentedon Dec 19, 2019
I guess it would work only in case of proxying on the level of the state machine (frame handler which interprets all the frames)
[-]Add Extension Frame Support[/-][+]Support for handling of extension frame[/+]