Norman Feske a39474a245 block-request stream: split Operation from Request
This patch splits the 'Request' definition into smaller types that are
suitable for the client-side API too.

The new 'Operation' type comprises the block operation's type (opcode)
and the operation's arguments (block number, block count).
The former 'Request::operation_defined' is now 'Operation::valid'.
The 'Request' aggregates an 'Operation', which changes its object
layout.

Note that this commit relaxes the bit-precise definition of 'Request' to
facilitate the use of 'unsigned long' where appropriate, in particular
for the request tag (which should correspond to an 'Id_space::Id'). The
originally bit-precise definition was pursued to allow the sharing of
the 'Request' type between SPARK and C++ code. However, it turns out
that defining a native type in each language and a (set of) converting
constructors is a more natural approach.

Issue #3283
2019-05-06 16:15:24 +02:00
..
2019-02-26 14:44:15 +01:00
2017-03-24 16:19:56 +01:00
2019-01-30 13:49:54 +01:00
2019-01-30 13:49:54 +01:00
2019-01-07 12:25:45 +01:00
2019-03-18 15:56:24 +01:00
2019-02-26 14:44:15 +01:00
2019-02-19 11:12:11 +01:00
2019-02-26 14:44:15 +01:00
2019-02-26 14:44:15 +01:00