receiveConnection method
Implementation
Future<void> receiveConnection(DuplexConnection duplexConn) async {
RSocketRequester? rsocketRequester;
duplexConn.receiveHandler = (chunk) {
for (var frame in parseFrames(chunk)) {
var header = frame.header;
if (header.type == frame_types.SETUP) {
var setupFrame = frame as SetupFrame;
var connectionSetupPayload = ConnectionSetupPayload()
..keepAliveInterval = setupFrame.keepAliveInterval
..keepAliveMaxLifetime = setupFrame.keepAliveMaxLifetime
..metadataMimeType = setupFrame.metadataMimeType
..dataMimeType = setupFrame.dataMimeType
..data = setupFrame.payload?.data
..metadata = setupFrame.payload?.data;
var temp =
RSocketRequester('responder', connectionSetupPayload, duplexConn);
var responder = socketAcceptor(connectionSetupPayload, temp);
if (responder == null) {
duplexConn.close();
break;
} else {
temp.responder = responder;
rsocketRequester = temp;
}
} else {
rsocketRequester?.receiveFrame(frame);
}
}
};
duplexConn.init();
}