Examples of SettingsFrame


Examples of org.eclipse.jetty.http2.frames.SettingsFrame

        return Result.PENDING;
    }

    private Result onSettings(Map<Integer, Integer> settings)
    {
        SettingsFrame frame = new SettingsFrame(settings, hasFlag(Flags.ACK));
        reset();
        return notifySettings(frame) ? Result.ASYNC : Result.COMPLETE;
    }
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

            Map<Integer, Integer> settings = listener.onPreface(getSession());
            if (settings == null)
                settings = Collections.emptyMap();

            PrefaceFrame prefaceFrame = new PrefaceFrame();
            SettingsFrame settingsFrame = new SettingsFrame(settings, false);
            int windowDelta = getInitialSessionWindow() - FlowControl.DEFAULT_WINDOW_SIZE;
            if (windowDelta > 0)
                getSession().control(null, this, prefaceFrame, settingsFrame, new WindowUpdateFrame(0, windowDelta));
            else
                getSession().control(null, this, prefaceFrame, settingsFrame);
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

    {
        // SPEC: send a SETTINGS frame upon receiving the preface.
        Map<Integer, Integer> settings = notifyPreface(this);
        if (settings == null)
            settings = Collections.emptyMap();
        SettingsFrame frame = new SettingsFrame(settings, false);
        // TODO: consider sending a WINDOW_UPDATE to enlarge the session send window of the client.
        control(null, Callback.Adapter.INSTANCE, frame, Frame.EMPTY_ARRAY);
        return false;
    }
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

    }

    @Override
    public void generate(ByteBufferPool.Lease lease, Frame frame)
    {
        SettingsFrame settingsFrame = (SettingsFrame)frame;
        generateSettings(lease, settingsFrame.getSettings(), settingsFrame.isReply());
    }
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

            }
        }
        notifySettings(this, frame);

        // SPEC: SETTINGS frame MUST be replied.
        SettingsFrame reply = new SettingsFrame(Collections.<Integer, Integer>emptyMap(), true);
        settings(reply, Callback.Adapter.INSTANCE);
        return false;
    }
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

                        if (dataFrameCount == 1)
                        {
                            callbackRef.set(callback);
                            Map<Integer, Integer> settings = new HashMap<>();
                            settings.put(SettingsFrame.INITIAL_WINDOW_SIZE, size);
                            stream.getSession().settings(new SettingsFrame(settings, false), Callback.Adapter.INSTANCE);
                            // Do not succeed the callback here.
                        }
                        else if (dataFrameCount > 1)
                        {
                            // Consume the data.
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

        Session session = newClient(new Session.Listener.Adapter());

        Map<Integer, Integer> settings = new HashMap<>();
        settings.put(SettingsFrame.INITIAL_WINDOW_SIZE, windowSize);
        session.settings(new SettingsFrame(settings, false), Callback.Adapter.INSTANCE);

        Assert.assertTrue(settingsLatch.await(5, TimeUnit.SECONDS));

        final CountDownLatch dataLatch = new CountDownLatch(1);
        final Exchanger<Callback> exchanger = new Exchanger<>();
View Full Code Here

Examples of org.eclipse.jetty.http2.frames.SettingsFrame

        });

        Session session = newClient(new Session.Listener.Adapter());
        Map<Integer, Integer> settings = new HashMap<>();
        settings.put(SettingsFrame.INITIAL_WINDOW_SIZE, 0);
        session.settings(new SettingsFrame(settings, false), Callback.Adapter.INSTANCE);
        Assert.assertTrue(settingsLatch.get().await(5, TimeUnit.SECONDS));

        byte[] content = new byte[chunk1.length + chunk2.length];
        final ByteBuffer buffer = ByteBuffer.wrap(content);
        MetaData.Request metaData = newRequest("GET", new HttpFields());
        HeadersFrame requestFrame = new HeadersFrame(0, metaData, null, true);
        final CountDownLatch responseLatch = new CountDownLatch(1);
        session.newStream(requestFrame, new Promise.Adapter<Stream>(), new Stream.Listener.Adapter()
        {
            @Override
            public void onData(Stream stream, DataFrame frame, Callback callback)
            {
                buffer.put(frame.getData());
                callback.succeeded();
                if (frame.isEndStream())
                    responseLatch.countDown();
            }
        });
        Assert.assertTrue(dataLatch.await(5, TimeUnit.SECONDS));

        // Now we have the 2 DATA frames queued in the server.

        // Partially unstall the first DATA frame.
        settingsLatch.set(new CountDownLatch(1));
        settings.clear();
        settings.put(SettingsFrame.INITIAL_WINDOW_SIZE, chunk1.length / 2);
        session.settings(new SettingsFrame(settings, false), Callback.Adapter.INSTANCE);
        Assert.assertTrue(settingsLatch.get().await(5, TimeUnit.SECONDS));

        Assert.assertTrue(responseLatch.await(5, TimeUnit.SECONDS));
    }
View Full Code Here

Examples of org.eclipse.jetty.spdy.frames.SettingsFrame

    }

    @Override
    public ByteBuffer generate(ControlFrame frame)
    {
        SettingsFrame settingsFrame = (SettingsFrame)frame;

        Settings settings = settingsFrame.getSettings();
        int size = settings.size();
        int frameBodyLength = 4 + 8 * size;
        int totalLength = ControlFrame.HEADER_LENGTH + frameBodyLength;
        ByteBuffer buffer = getByteBufferPool().acquire(totalLength, Generator.useDirectBuffers);
        BufferUtil.clearToFill(buffer);
View Full Code Here

Examples of org.eclipse.jetty.spdy.frames.SettingsFrame

        return false;
    }

    private void onSettings()
    {
        SettingsFrame frame = new SettingsFrame(controlFrameParser.getVersion(), controlFrameParser.getFlags(), new Settings(settings, true));
        controlFrameParser.onControlFrame(frame);
        reset();
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.