in src/main/java/com/twitter/whiskey/net/SessionManager.java [188:217]
private void createSession(final Socket socket) {
final int currentConnectivity = connectivity;
final Session session;
switch(socket.getProtocol()) {
case SPDY_3_1:
session = new SpdySession(this, configuration, socket);
break;
default:
throw new RuntimeException("unsupported protocol");
}
openSessionMap.put(currentConnectivity, session);
session.addCloseListener(new Inline.Listener<Void>() {
@Override
public void onComplete(Void result) {
openSessionMap.removeValue(session);
}
@Override
public void onError(Throwable throwable) {
openSessionMap.removeValue(session);
}
});
// TODO: implement load balancing delay
while (session.getCapacity() > 0 && !pendingOperations.isEmpty()) {
session.queue(pendingOperations.poll());
}
}