mirror of
https://github.com/jlengrand/vert.x.git
synced 2026-03-10 08:51:19 +00:00
Set handler in synchronized block. Invoke handler outsied of synchronized block
Signed-off-by: Michal Michalowski <michal.michalowski@openet.com>
This commit is contained in:
@@ -523,22 +523,26 @@ public class Http2ServerRequestImpl extends VertxHttp2Stream<Http2ServerConnecti
|
||||
|
||||
@Override
|
||||
public HttpServerRequest streamPriorityHandler(Handler<StreamPriority> handler) {
|
||||
streamPriorityHandler = handler;
|
||||
synchronized (conn) {
|
||||
streamPriorityHandler = handler;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
void handlePriorityChange(StreamPriority streamPriority) {
|
||||
System.out.println(getClass().getName() + ".handlePriorityChange(" + streamPriority + ")");
|
||||
Handler<StreamPriority> handler;
|
||||
boolean priorityChanged = false;
|
||||
synchronized (conn) {
|
||||
Handler<StreamPriority> handler = streamPriorityHandler;
|
||||
if (handler != null) {
|
||||
if(streamPriority != null && !streamPriority.equals(getStreamPriority())) {
|
||||
handler = streamPriorityHandler;
|
||||
if(streamPriority != null && !streamPriority.equals(getStreamPriority())) {
|
||||
setStreamPriority(streamPriority);
|
||||
handler.handle(streamPriority);
|
||||
}
|
||||
priorityChanged = true;
|
||||
}
|
||||
}
|
||||
if (handler != null && priorityChanged) {
|
||||
handler.handle(streamPriority);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user