Hello Simone and Greg,
Thank you for your response. I understand that a new stream is
created and assigned to each of the pushed resources, and that there
is no sequential requirement from the HTTP/2 point of view. However,
in a use case where video segments are pushed (e.g. as soon as they
are available in a live stream scenario), consecutive segments
should be pushed in the right order. I made sure this is the case by
checking if there are no active, open push streams before calling
the push function in HTTPTransportOverHTTP2. Of course, it would be
nice to know if there are other ways to achieve this behaviour. I
was considering a priority based mechanism at one point, could you
elaborate on why this could lead to flaws from a server point of
view?
Also, I was wondering if there is a way to cancel a started, open
push stream? Let's say the server is pushing a large resource A, and
logic dictates that at one point it is better to stop sending this
resource and move on to resource B? As far as I observed, streams
are only cancelled if a timeout exception occurs (default is 15s),
but there is not yet a possibility to cancel a stream from e.g. the
HTTPTransportOverHTTP2 class.
Kind regards,
Jeroen van der Hooft
On 2015-02-03 23:54, Greg Wilkins
wrote:
Jeroen,
the push mechanism creates new streams in the multiplexed
connection for each of the pushed resources. This is
explicitly so that they can overtake each other and there is
no sequential requirement.
In HTTP2, it is the priority mechanism that might be able to
set some kind of sequential relationship between resources,
but that comes from the client and is only advisory. Plus
Jetty currently does not implement priority and probably will
not due to flaws with it from a server throughput point of
view.
There is actually no way I can think of in HTTP/2 to maintain
strong ordering between resources - pushed or requested.
It would be good to know your use-case for this.
cheers
_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users
--
Jeroen van der Hooft
Department of Information Technology
Internet Based Communication Networks and Services (IBCN)
Ghent University - iMinds
Gaston Crommenlaan 8 (Box 201), B-9050 Gent, Belgium
T: +32 (0)9 33 14942; T Secr: +32 (0)9 33 14900
F: +32 (0)9 33 14899
E: jeroen.vanderhooft@xxxxxxxxxxxxxx
W: www.ibcn.intec.UGent.be
|