[Spice-devel] [PATCH spice-streaming-agent v3 4/4] Stub to handle errors from server
Lukáš Hrázký
lhrazky at redhat.com
Wed Feb 21 15:30:24 UTC 2018
On Wed, 2018-02-21 at 05:51 -0500, Frediano Ziglio wrote:
> >
> > On Tue, 2018-02-20 at 20:48 +0000, Frediano Ziglio wrote:
> > > Base error message handling.
> > >
> > > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > > ---
> > > src/spice-streaming-agent.cpp | 9 +++++++++
> > > 1 file changed, 9 insertions(+)
> > >
> > > diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
> > > index 31c655c..343b252 100644
> > > --- a/src/spice-streaming-agent.cpp
> > > +++ b/src/spice-streaming-agent.cpp
> > > @@ -81,6 +81,7 @@ static int have_something_to_read(int timeout)
> > >
> > > static void handle_stream_capabilities(uint32_t len);
> > > static void handle_stream_start_stop(uint32_t len);
> > > +static void handle_stream_error(uint32_t len);
> > >
> > > static void read_command_from_device(void)
> > > {
> > > @@ -101,6 +102,8 @@ static void read_command_from_device(void)
> > > switch (hdr.type) {
> > > case STREAM_TYPE_CAPABILITIES:
> > > return handle_stream_capabilities(hdr.size);
> > > + case STREAM_TYPE_NOTIFY_ERROR:
> > > + return handle_stream_error(hdr.size);
> > > case STREAM_TYPE_START_STOP:
> > > return handle_stream_start_stop(hdr.size);
> > > }
> > > @@ -154,6 +157,12 @@ static void handle_stream_capabilities(uint32_t len)
> > > }
> > > }
> > >
> > > +static void handle_stream_error(uint32_t len)
> > > +{
> > > + // TODO read message and use it
> > > + throw std::runtime_error("got an error message from server");
> > > +}
> > > +
> > > static int read_command(bool blocking)
> > > {
> > > int timeout = blocking?-1:0;
> >
> > You didn't have to make it that explicit for me :) But thanks... I
> > don't find this commit necessary, it doesn't change the behavior and
> > kind of just adds noise to the history...?
> >
>
> I supposed can be a
>
> // TODO: case STREAM_TYPE_NOTIFY_ERROR
>
> (however you get a not much accurate message) or a
>
> case STREAM_TYPE_NOTIFY_ERROR:
> // TODO read message and use it
> throw std::runtime_error("got an error message from server");
>
> but not much expensive to have a stub either.
>
> I checked all required messages are handled and I put in the switch,
> I think is a good way to avoid forgetting to implement some.
>
> Frediano
If you want it in, sure... I just don't find it very useful.
Acked-by: Lukáš Hrázký <lhrazky at redhat.com>
More information about the Spice-devel
mailing list