45 lines
838 B
C
45 lines
838 B
C
|
// Copyright (c) 2019 Computer Vision Center (CVC) at the Universitat Autonoma
|
||
|
// de Barcelona (UAB).
|
||
|
//
|
||
|
// This work is licensed under the terms of the MIT license.
|
||
|
// For a copy, see <https://opensource.org/licenses/MIT>.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "carla/MsgPack.h"
|
||
|
|
||
|
namespace carla {
|
||
|
namespace rpc {
|
||
|
|
||
|
/// Metadata of an RPC function call.
|
||
|
class Metadata {
|
||
|
public:
|
||
|
|
||
|
Metadata() = default;
|
||
|
|
||
|
static Metadata MakeSync() {
|
||
|
return { false };
|
||
|
}
|
||
|
|
||
|
static Metadata MakeAsync() {
|
||
|
return { true };
|
||
|
}
|
||
|
|
||
|
bool IsResponseIgnored() const {
|
||
|
return _asynchronous_call;
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
|
||
|
Metadata(bool asynchronous_call) : _asynchronous_call(asynchronous_call) {}
|
||
|
|
||
|
bool _asynchronous_call = false;
|
||
|
|
||
|
public:
|
||
|
|
||
|
MSGPACK_DEFINE_ARRAY(_asynchronous_call);
|
||
|
};
|
||
|
|
||
|
} // namespace rpc
|
||
|
} // namespace carla
|