Go to the source code of this file.
|
|
#define | WORKER_MAGIC_1 0x6e697863 |
|
#define | WORKER_MAGIC_2 0x6478696f |
|
#define | PROTOCOL_VERSION (1 << 8 | 35) |
|
#define | MIN_SUPPORTED_MINOR_WORKER_PROTO_VERSION 21 |
|
#define | MIN_SUPPORTED_WORKER_PROTO_VERSION (1 << 8 | MIN_SUPPORTED_MINOR_WORKER_PROTO_VERSION) |
| #define | GET_PROTOCOL_MAJOR(x) |
| #define | GET_PROTOCOL_MINOR(x) |
| #define | REMOVE_AFTER_DROPPING_PROTO_MINOR(protoMinor) |
|
#define | STDERR_NEXT 0x6f6c6d67 |
|
#define | STDERR_READ 0x64617461 |
|
#define | STDERR_WRITE 0x64617416 |
|
#define | STDERR_LAST 0x616c7473 |
|
#define | STDERR_ERROR 0x63787470 |
|
#define | STDERR_START_ACTIVITY 0x53545254 |
|
#define | STDERR_STOP_ACTIVITY 0x53544f50 |
|
#define | STDERR_RESULT 0x52534c54 |
| #define | DECLARE_WORKER_SERIALISER(T) |
|
#define | COMMA_ , |
◆ DECLARE_WORKER_SERIALISER
| #define DECLARE_WORKER_SERIALISER |
( |
| T | ) |
|
Value: struct WorkerProto::Serialise< T > \
{ \
static T read(const Store & store, WorkerProto::ReadConn conn); \
[[nodiscard]] static WireFormatGenerator write(const Store & store, WorkerProto::WriteConn conn, const T & t); \
};
Declare a canonical serialiser pair for the worker protocol.
We specialise the struct merely to indicate that we are implementing the function for the given type.
Some sort of template<...> must be used with the caller for this to be legal specialization syntax. See below for what that looks like in practice.
◆ GET_PROTOCOL_MAJOR
| #define GET_PROTOCOL_MAJOR |
( |
| x | ) |
|
◆ GET_PROTOCOL_MINOR
| #define GET_PROTOCOL_MINOR |
( |
| x | ) |
|
◆ REMOVE_AFTER_DROPPING_PROTO_MINOR
| #define REMOVE_AFTER_DROPPING_PROTO_MINOR |
( |
| protoMinor | ) |
|
Value: static_assert(MIN_SUPPORTED_MINOR_WORKER_PROTO_VERSION <= (protoMinor))
◆ operator<<() [1/2]
| Sink & nix::operator<< |
( |
Sink & | sink, |
|
|
WorkerProto::Op | op ) |
|
inline |
Convenience for sending operation codes.
- Todo
- Switch to using WorkerProto::Serialise instead probably. But this was not done at this time so there would be less churn.
◆ operator<<() [2/2]
| std::ostream & nix::operator<< |
( |
std::ostream & | s, |
|
|
WorkerProto::Op | op ) |
|
inline |
Convenience for debugging.
- Todo
- Perhaps render known opcodes more nicely.