private void createSession()

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());
        }
    }