Added ConnectionManager, propagating socketId to processors

This commit is contained in:
2020-01-03 18:11:38 +02:00
parent 10a387beea
commit 02c6f8ad45
6 changed files with 105 additions and 9 deletions

View File

@ -25,7 +25,7 @@ import envoy.server.ObjectProcessor;
*/
public class ObjectMessageProcessor implements IMessageProcessor {
private final Set<ObjectProcessor<?, ?>> processors;
private final Set<ObjectProcessor<?, ?>> processors;
/**
* The constructor to set the {@link ObjectProcessor}s.
@ -33,7 +33,9 @@ public class ObjectMessageProcessor implements IMessageProcessor {
* @param processors the {@link ObjectProcessor} to set
* @since Envoy Server Standalone v0.1-alpha
*/
public ObjectMessageProcessor(Set<ObjectProcessor<?, ?>> processors) { this.processors = processors; }
public ObjectMessageProcessor(Set<ObjectProcessor<?, ?>> processors) {
this.processors = processors;
}
@SuppressWarnings("unchecked")
@Override
@ -44,7 +46,7 @@ public class ObjectMessageProcessor implements IMessageProcessor {
// Process object
processors.stream().filter(p -> p.getInputClass().isInstance(obj)).forEach((@SuppressWarnings("rawtypes") ObjectProcessor p) -> {
Object responseObj = p.process(p.getInputClass().cast(obj));
Object responseObj = p.process(p.getInputClass().cast(obj), message.socketId);
if (responseObj != null) {
// Create message targeted at the client
Message response = writeProxy.getMessage();