aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/flatrpc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-11-27 17:23:09 +0100
committerDmitry Vyukov <dvyukov@google.com>2024-12-11 15:22:17 +0000
commit299ee674e6c124a35f1cf258df4f0f3c6e1db1f3 (patch)
tree416b515e959a1d0a64a9516b1524a062ae63ba7d /pkg/flatrpc
parentff949d2512c5ac33d0407d26d80f1df77b2de0e7 (diff)
executor: query globs in the test program context
We query globs for 2 reasons: 1. Expand glob types in syscall descriptions. 2. Dynamic file probing for automatic descriptions generation. In both of these contexts are are interested in files that will be present during test program execution (rather than normal unsandboxed execution). For example, some files may not be accessible to test programs after pivot root. On the other hand, we create and link some additional files for the test program that don't normally exist. Add a new request type for querying of globs that are executed in the test program context.
Diffstat (limited to 'pkg/flatrpc')
-rw-r--r--pkg/flatrpc/conn_test.go2
-rw-r--r--pkg/flatrpc/flatrpc.fbs17
-rw-r--r--pkg/flatrpc/flatrpc.go207
-rw-r--r--pkg/flatrpc/flatrpc.h174
4 files changed, 180 insertions, 220 deletions
diff --git a/pkg/flatrpc/conn_test.go b/pkg/flatrpc/conn_test.go
index 3ab83996e..132fd1cdd 100644
--- a/pkg/flatrpc/conn_test.go
+++ b/pkg/flatrpc/conn_test.go
@@ -28,7 +28,6 @@ func TestConn(t *testing.T) {
RaceFrames: []string{"bar", "baz"},
Features: FeatureCoverage | FeatureLeak,
Files: []string{"file1"},
- Globs: []string{"glob1"},
}
executorMsg := &ExecutorMessage{
Msg: &ExecutorMessages{
@@ -102,7 +101,6 @@ func BenchmarkConn(b *testing.B) {
RaceFrames: []string{"bar", "baz"},
Features: FeatureCoverage | FeatureLeak,
Files: []string{"file1"},
- Globs: []string{"glob1"},
}
done := make(chan bool)
diff --git a/pkg/flatrpc/flatrpc.fbs b/pkg/flatrpc/flatrpc.fbs
index 0bd32b743..6d2307d6a 100644
--- a/pkg/flatrpc/flatrpc.fbs
+++ b/pkg/flatrpc/flatrpc.fbs
@@ -57,14 +57,12 @@ table ConnectReplyRaw {
features :Feature;
// Fuzzer reads these files inside of the VM and returns contents in InfoRequest.files.
files :[string];
- globs :[string];
}
table InfoRequestRaw {
error :string;
features :[FeatureInfoRaw];
files :[FileInfoRaw];
- globs :[GlobInfoRaw];
}
table InfoReplyRaw {
@@ -112,10 +110,16 @@ table ExecutorMessageRaw {
msg :ExecutorMessagesRaw;
}
+enum RequestType : uint64 {
+ // Normal test program request (data contains serialized prog.Prog).
+ Program,
+ // Binary test program (data contains compiled executable binary).
+ Binary,
+ // Request for file glob expansion (data contains the glob pattern).
+ Glob,
+}
+
enum RequestFlag : uint64 (bit_flags) {
- // If set, prog_data contains compiled executable binary
- // that needs to be written to disk and executed.
- IsBinary,
// If set, collect program output and return in output field.
ReturnOutput,
// If set, don't fail on program failures, instead return the error in error field.
@@ -163,9 +167,10 @@ struct ExecOptsRaw {
// Request to execute a test program.
table ExecRequestRaw {
id :int64;
+ type :RequestType;
// Bitmask of procs to avoid when executing this request, if possible.
avoid :uint64;
- prog_data :[uint8];
+ data :[uint8];
exec_opts :ExecOptsRaw;
flags :RequestFlag;
// Return all signal for these calls.
diff --git a/pkg/flatrpc/flatrpc.go b/pkg/flatrpc/flatrpc.go
index 8445cde2d..fd5b4f614 100644
--- a/pkg/flatrpc/flatrpc.go
+++ b/pkg/flatrpc/flatrpc.go
@@ -257,22 +257,46 @@ func (rcv ExecutorMessagesRaw) UnPack(table flatbuffers.Table) *ExecutorMessages
return nil
}
+type RequestType uint64
+
+const (
+ RequestTypeProgram RequestType = 0
+ RequestTypeBinary RequestType = 1
+ RequestTypeGlob RequestType = 2
+)
+
+var EnumNamesRequestType = map[RequestType]string{
+ RequestTypeProgram: "Program",
+ RequestTypeBinary: "Binary",
+ RequestTypeGlob: "Glob",
+}
+
+var EnumValuesRequestType = map[string]RequestType{
+ "Program": RequestTypeProgram,
+ "Binary": RequestTypeBinary,
+ "Glob": RequestTypeGlob,
+}
+
+func (v RequestType) String() string {
+ if s, ok := EnumNamesRequestType[v]; ok {
+ return s
+ }
+ return "RequestType(" + strconv.FormatInt(int64(v), 10) + ")"
+}
+
type RequestFlag uint64
const (
- RequestFlagIsBinary RequestFlag = 1
- RequestFlagReturnOutput RequestFlag = 2
- RequestFlagReturnError RequestFlag = 4
+ RequestFlagReturnOutput RequestFlag = 1
+ RequestFlagReturnError RequestFlag = 2
)
var EnumNamesRequestFlag = map[RequestFlag]string{
- RequestFlagIsBinary: "IsBinary",
RequestFlagReturnOutput: "ReturnOutput",
RequestFlagReturnError: "ReturnError",
}
var EnumValuesRequestFlag = map[string]RequestFlag{
- "IsBinary": RequestFlagIsBinary,
"ReturnOutput": RequestFlagReturnOutput,
"ReturnError": RequestFlagReturnError,
}
@@ -594,7 +618,6 @@ type ConnectReplyRawT struct {
RaceFrames []string `json:"race_frames"`
Features Feature `json:"features"`
Files []string `json:"files"`
- Globs []string `json:"globs"`
}
func (t *ConnectReplyRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
@@ -640,19 +663,6 @@ func (t *ConnectReplyRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffse
}
filesOffset = builder.EndVector(filesLength)
}
- globsOffset := flatbuffers.UOffsetT(0)
- if t.Globs != nil {
- globsLength := len(t.Globs)
- globsOffsets := make([]flatbuffers.UOffsetT, globsLength)
- for j := 0; j < globsLength; j++ {
- globsOffsets[j] = builder.CreateString(t.Globs[j])
- }
- ConnectReplyRawStartGlobsVector(builder, globsLength)
- for j := globsLength - 1; j >= 0; j-- {
- builder.PrependUOffsetT(globsOffsets[j])
- }
- globsOffset = builder.EndVector(globsLength)
- }
ConnectReplyRawStart(builder)
ConnectReplyRawAddDebug(builder, t.Debug)
ConnectReplyRawAddCover(builder, t.Cover)
@@ -666,7 +676,6 @@ func (t *ConnectReplyRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffse
ConnectReplyRawAddRaceFrames(builder, raceFramesOffset)
ConnectReplyRawAddFeatures(builder, t.Features)
ConnectReplyRawAddFiles(builder, filesOffset)
- ConnectReplyRawAddGlobs(builder, globsOffset)
return ConnectReplyRawEnd(builder)
}
@@ -695,11 +704,6 @@ func (rcv *ConnectReplyRaw) UnPackTo(t *ConnectReplyRawT) {
for j := 0; j < filesLength; j++ {
t.Files[j] = string(rcv.Files(j))
}
- globsLength := rcv.GlobsLength()
- t.Globs = make([]string, globsLength)
- for j := 0; j < globsLength; j++ {
- t.Globs[j] = string(rcv.Globs(j))
- }
}
func (rcv *ConnectReplyRaw) UnPack() *ConnectReplyRawT {
@@ -897,25 +901,8 @@ func (rcv *ConnectReplyRaw) FilesLength() int {
return 0
}
-func (rcv *ConnectReplyRaw) Globs(j int) []byte {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(28))
- if o != 0 {
- a := rcv._tab.Vector(o)
- return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j*4))
- }
- return nil
-}
-
-func (rcv *ConnectReplyRaw) GlobsLength() int {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(28))
- if o != 0 {
- return rcv._tab.VectorLen(o)
- }
- return 0
-}
-
func ConnectReplyRawStart(builder *flatbuffers.Builder) {
- builder.StartObject(13)
+ builder.StartObject(12)
}
func ConnectReplyRawAddDebug(builder *flatbuffers.Builder, debug bool) {
builder.PrependBoolSlot(0, debug, false)
@@ -962,12 +949,6 @@ func ConnectReplyRawAddFiles(builder *flatbuffers.Builder, files flatbuffers.UOf
func ConnectReplyRawStartFilesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
-func ConnectReplyRawAddGlobs(builder *flatbuffers.Builder, globs flatbuffers.UOffsetT) {
- builder.PrependUOffsetTSlot(12, flatbuffers.UOffsetT(globs), 0)
-}
-func ConnectReplyRawStartGlobsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
- return builder.StartVector(4, numElems, 4)
-}
func ConnectReplyRawEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -976,7 +957,6 @@ type InfoRequestRawT struct {
Error string `json:"error"`
Features []*FeatureInfoRawT `json:"features"`
Files []*FileInfoRawT `json:"files"`
- Globs []*GlobInfoRawT `json:"globs"`
}
func (t *InfoRequestRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
@@ -1010,24 +990,10 @@ func (t *InfoRequestRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffset
}
filesOffset = builder.EndVector(filesLength)
}
- globsOffset := flatbuffers.UOffsetT(0)
- if t.Globs != nil {
- globsLength := len(t.Globs)
- globsOffsets := make([]flatbuffers.UOffsetT, globsLength)
- for j := 0; j < globsLength; j++ {
- globsOffsets[j] = t.Globs[j].Pack(builder)
- }
- InfoRequestRawStartGlobsVector(builder, globsLength)
- for j := globsLength - 1; j >= 0; j-- {
- builder.PrependUOffsetT(globsOffsets[j])
- }
- globsOffset = builder.EndVector(globsLength)
- }
InfoRequestRawStart(builder)
InfoRequestRawAddError(builder, errorOffset)
InfoRequestRawAddFeatures(builder, featuresOffset)
InfoRequestRawAddFiles(builder, filesOffset)
- InfoRequestRawAddGlobs(builder, globsOffset)
return InfoRequestRawEnd(builder)
}
@@ -1047,13 +1013,6 @@ func (rcv *InfoRequestRaw) UnPackTo(t *InfoRequestRawT) {
rcv.Files(&x, j)
t.Files[j] = x.UnPack()
}
- globsLength := rcv.GlobsLength()
- t.Globs = make([]*GlobInfoRawT, globsLength)
- for j := 0; j < globsLength; j++ {
- x := GlobInfoRaw{}
- rcv.Globs(&x, j)
- t.Globs[j] = x.UnPack()
- }
}
func (rcv *InfoRequestRaw) UnPack() *InfoRequestRawT {
@@ -1140,28 +1099,8 @@ func (rcv *InfoRequestRaw) FilesLength() int {
return 0
}
-func (rcv *InfoRequestRaw) Globs(obj *GlobInfoRaw, j int) bool {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
- if o != 0 {
- x := rcv._tab.Vector(o)
- x += flatbuffers.UOffsetT(j) * 4
- x = rcv._tab.Indirect(x)
- obj.Init(rcv._tab.Bytes, x)
- return true
- }
- return false
-}
-
-func (rcv *InfoRequestRaw) GlobsLength() int {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
- if o != 0 {
- return rcv._tab.VectorLen(o)
- }
- return 0
-}
-
func InfoRequestRawStart(builder *flatbuffers.Builder) {
- builder.StartObject(4)
+ builder.StartObject(3)
}
func InfoRequestRawAddError(builder *flatbuffers.Builder, error flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(error), 0)
@@ -1178,12 +1117,6 @@ func InfoRequestRawAddFiles(builder *flatbuffers.Builder, files flatbuffers.UOff
func InfoRequestRawStartFilesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
-func InfoRequestRawAddGlobs(builder *flatbuffers.Builder, globs flatbuffers.UOffsetT) {
- builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(globs), 0)
-}
-func InfoRequestRawStartGlobsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
- return builder.StartVector(4, numElems, 4)
-}
func InfoRequestRawEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -1929,8 +1862,9 @@ func CreateExecOptsRaw(builder *flatbuffers.Builder, envFlags ExecEnv, execFlags
type ExecRequestRawT struct {
Id int64 `json:"id"`
+ Type RequestType `json:"type"`
Avoid uint64 `json:"avoid"`
- ProgData []byte `json:"prog_data"`
+ Data []byte `json:"data"`
ExecOpts *ExecOptsRawT `json:"exec_opts"`
Flags RequestFlag `json:"flags"`
AllSignal []int32 `json:"all_signal"`
@@ -1940,9 +1874,9 @@ func (t *ExecRequestRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffset
if t == nil {
return 0
}
- progDataOffset := flatbuffers.UOffsetT(0)
- if t.ProgData != nil {
- progDataOffset = builder.CreateByteString(t.ProgData)
+ dataOffset := flatbuffers.UOffsetT(0)
+ if t.Data != nil {
+ dataOffset = builder.CreateByteString(t.Data)
}
allSignalOffset := flatbuffers.UOffsetT(0)
if t.AllSignal != nil {
@@ -1955,8 +1889,9 @@ func (t *ExecRequestRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffset
}
ExecRequestRawStart(builder)
ExecRequestRawAddId(builder, t.Id)
+ ExecRequestRawAddType(builder, t.Type)
ExecRequestRawAddAvoid(builder, t.Avoid)
- ExecRequestRawAddProgData(builder, progDataOffset)
+ ExecRequestRawAddData(builder, dataOffset)
execOptsOffset := t.ExecOpts.Pack(builder)
ExecRequestRawAddExecOpts(builder, execOptsOffset)
ExecRequestRawAddFlags(builder, t.Flags)
@@ -1966,8 +1901,9 @@ func (t *ExecRequestRawT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffset
func (rcv *ExecRequestRaw) UnPackTo(t *ExecRequestRawT) {
t.Id = rcv.Id()
+ t.Type = rcv.Type()
t.Avoid = rcv.Avoid()
- t.ProgData = rcv.ProgDataBytes()
+ t.Data = rcv.DataBytes()
t.ExecOpts = rcv.ExecOpts(nil).UnPack()
t.Flags = rcv.Flags()
allSignalLength := rcv.AllSignalLength()
@@ -2025,20 +1961,32 @@ func (rcv *ExecRequestRaw) MutateId(n int64) bool {
return rcv._tab.MutateInt64Slot(4, n)
}
-func (rcv *ExecRequestRaw) Avoid() uint64 {
+func (rcv *ExecRequestRaw) Type() RequestType {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
+ return RequestType(rcv._tab.GetUint64(o + rcv._tab.Pos))
+ }
+ return 0
+}
+
+func (rcv *ExecRequestRaw) MutateType(n RequestType) bool {
+ return rcv._tab.MutateUint64Slot(6, uint64(n))
+}
+
+func (rcv *ExecRequestRaw) Avoid() uint64 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
+ if o != 0 {
return rcv._tab.GetUint64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *ExecRequestRaw) MutateAvoid(n uint64) bool {
- return rcv._tab.MutateUint64Slot(6, n)
+ return rcv._tab.MutateUint64Slot(8, n)
}
-func (rcv *ExecRequestRaw) ProgData(j int) byte {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
+func (rcv *ExecRequestRaw) Data(j int) byte {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
a := rcv._tab.Vector(o)
return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j*1))
@@ -2046,24 +1994,24 @@ func (rcv *ExecRequestRaw) ProgData(j int) byte {
return 0
}
-func (rcv *ExecRequestRaw) ProgDataLength() int {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
+func (rcv *ExecRequestRaw) DataLength() int {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
-func (rcv *ExecRequestRaw) ProgDataBytes() []byte {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
+func (rcv *ExecRequestRaw) DataBytes() []byte {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
-func (rcv *ExecRequestRaw) MutateProgData(j int, n byte) bool {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
+func (rcv *ExecRequestRaw) MutateData(j int, n byte) bool {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
a := rcv._tab.Vector(o)
return rcv._tab.MutateByte(a+flatbuffers.UOffsetT(j*1), n)
@@ -2072,7 +2020,7 @@ func (rcv *ExecRequestRaw) MutateProgData(j int, n byte) bool {
}
func (rcv *ExecRequestRaw) ExecOpts(obj *ExecOptsRaw) *ExecOptsRaw {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
x := o + rcv._tab.Pos
if obj == nil {
@@ -2085,7 +2033,7 @@ func (rcv *ExecRequestRaw) ExecOpts(obj *ExecOptsRaw) *ExecOptsRaw {
}
func (rcv *ExecRequestRaw) Flags() RequestFlag {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return RequestFlag(rcv._tab.GetUint64(o + rcv._tab.Pos))
}
@@ -2093,11 +2041,11 @@ func (rcv *ExecRequestRaw) Flags() RequestFlag {
}
func (rcv *ExecRequestRaw) MutateFlags(n RequestFlag) bool {
- return rcv._tab.MutateUint64Slot(12, uint64(n))
+ return rcv._tab.MutateUint64Slot(14, uint64(n))
}
func (rcv *ExecRequestRaw) AllSignal(j int) int32 {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
a := rcv._tab.Vector(o)
return rcv._tab.GetInt32(a + flatbuffers.UOffsetT(j*4))
@@ -2106,7 +2054,7 @@ func (rcv *ExecRequestRaw) AllSignal(j int) int32 {
}
func (rcv *ExecRequestRaw) AllSignalLength() int {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.VectorLen(o)
}
@@ -2114,7 +2062,7 @@ func (rcv *ExecRequestRaw) AllSignalLength() int {
}
func (rcv *ExecRequestRaw) MutateAllSignal(j int, n int32) bool {
- o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
a := rcv._tab.Vector(o)
return rcv._tab.MutateInt32(a+flatbuffers.UOffsetT(j*4), n)
@@ -2123,28 +2071,31 @@ func (rcv *ExecRequestRaw) MutateAllSignal(j int, n int32) bool {
}
func ExecRequestRawStart(builder *flatbuffers.Builder) {
- builder.StartObject(6)
+ builder.StartObject(7)
}
func ExecRequestRawAddId(builder *flatbuffers.Builder, id int64) {
builder.PrependInt64Slot(0, id, 0)
}
+func ExecRequestRawAddType(builder *flatbuffers.Builder, type_ RequestType) {
+ builder.PrependUint64Slot(1, uint64(type_), 0)
+}
func ExecRequestRawAddAvoid(builder *flatbuffers.Builder, avoid uint64) {
- builder.PrependUint64Slot(1, avoid, 0)
+ builder.PrependUint64Slot(2, avoid, 0)
}
-func ExecRequestRawAddProgData(builder *flatbuffers.Builder, progData flatbuffers.UOffsetT) {
- builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(progData), 0)
+func ExecRequestRawAddData(builder *flatbuffers.Builder, data flatbuffers.UOffsetT) {
+ builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(data), 0)
}
-func ExecRequestRawStartProgDataVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
+func ExecRequestRawStartDataVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(1, numElems, 1)
}
func ExecRequestRawAddExecOpts(builder *flatbuffers.Builder, execOpts flatbuffers.UOffsetT) {
- builder.PrependStructSlot(3, flatbuffers.UOffsetT(execOpts), 0)
+ builder.PrependStructSlot(4, flatbuffers.UOffsetT(execOpts), 0)
}
func ExecRequestRawAddFlags(builder *flatbuffers.Builder, flags RequestFlag) {
- builder.PrependUint64Slot(4, uint64(flags), 0)
+ builder.PrependUint64Slot(5, uint64(flags), 0)
}
func ExecRequestRawAddAllSignal(builder *flatbuffers.Builder, allSignal flatbuffers.UOffsetT) {
- builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(allSignal), 0)
+ builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(allSignal), 0)
}
func ExecRequestRawStartAllSignalVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
diff --git a/pkg/flatrpc/flatrpc.h b/pkg/flatrpc/flatrpc.h
index 94e1c15f6..12d905c12 100644
--- a/pkg/flatrpc/flatrpc.h
+++ b/pkg/flatrpc/flatrpc.h
@@ -486,18 +486,49 @@ struct ExecutorMessagesRawUnion {
bool VerifyExecutorMessagesRaw(flatbuffers::Verifier &verifier, const void *obj, ExecutorMessagesRaw type);
bool VerifyExecutorMessagesRawVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<ExecutorMessagesRaw> *types);
+enum class RequestType : uint64_t {
+ Program = 0,
+ Binary = 1ULL,
+ Glob = 2ULL,
+ MIN = Program,
+ MAX = Glob
+};
+
+inline const RequestType (&EnumValuesRequestType())[3] {
+ static const RequestType values[] = {
+ RequestType::Program,
+ RequestType::Binary,
+ RequestType::Glob
+ };
+ return values;
+}
+
+inline const char * const *EnumNamesRequestType() {
+ static const char * const names[4] = {
+ "Program",
+ "Binary",
+ "Glob",
+ nullptr
+ };
+ return names;
+}
+
+inline const char *EnumNameRequestType(RequestType e) {
+ if (flatbuffers::IsOutRange(e, RequestType::Program, RequestType::Glob)) return "";
+ const size_t index = static_cast<size_t>(e);
+ return EnumNamesRequestType()[index];
+}
+
enum class RequestFlag : uint64_t {
- IsBinary = 1ULL,
- ReturnOutput = 2ULL,
- ReturnError = 4ULL,
+ ReturnOutput = 1ULL,
+ ReturnError = 2ULL,
NONE = 0,
- ANY = 7ULL
+ ANY = 3ULL
};
FLATBUFFERS_DEFINE_BITMASK_OPERATORS(RequestFlag, uint64_t)
-inline const RequestFlag (&EnumValuesRequestFlag())[3] {
+inline const RequestFlag (&EnumValuesRequestFlag())[2] {
static const RequestFlag values[] = {
- RequestFlag::IsBinary,
RequestFlag::ReturnOutput,
RequestFlag::ReturnError
};
@@ -505,10 +536,8 @@ inline const RequestFlag (&EnumValuesRequestFlag())[3] {
}
inline const char * const *EnumNamesRequestFlag() {
- static const char * const names[5] = {
- "IsBinary",
+ static const char * const names[3] = {
"ReturnOutput",
- "",
"ReturnError",
nullptr
};
@@ -516,8 +545,8 @@ inline const char * const *EnumNamesRequestFlag() {
}
inline const char *EnumNameRequestFlag(RequestFlag e) {
- if (flatbuffers::IsOutRange(e, RequestFlag::IsBinary, RequestFlag::ReturnError)) return "";
- const size_t index = static_cast<size_t>(e) - static_cast<size_t>(RequestFlag::IsBinary);
+ if (flatbuffers::IsOutRange(e, RequestFlag::ReturnOutput, RequestFlag::ReturnError)) return "";
+ const size_t index = static_cast<size_t>(e) - static_cast<size_t>(RequestFlag::ReturnOutput);
return EnumNamesRequestFlag()[index];
}
@@ -936,7 +965,6 @@ struct ConnectReplyRawT : public flatbuffers::NativeTable {
std::vector<std::string> race_frames{};
rpc::Feature features = static_cast<rpc::Feature>(0);
std::vector<std::string> files{};
- std::vector<std::string> globs{};
};
struct ConnectReplyRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -954,8 +982,7 @@ struct ConnectReplyRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_LEAK_FRAMES = 20,
VT_RACE_FRAMES = 22,
VT_FEATURES = 24,
- VT_FILES = 26,
- VT_GLOBS = 28
+ VT_FILES = 26
};
bool debug() const {
return GetField<uint8_t>(VT_DEBUG, 0) != 0;
@@ -993,9 +1020,6 @@ struct ConnectReplyRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *files() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_FILES);
}
- const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *globs() const {
- return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_GLOBS);
- }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<uint8_t>(verifier, VT_DEBUG, 1) &&
@@ -1016,9 +1040,6 @@ struct ConnectReplyRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyOffset(verifier, VT_FILES) &&
verifier.VerifyVector(files()) &&
verifier.VerifyVectorOfStrings(files()) &&
- VerifyOffset(verifier, VT_GLOBS) &&
- verifier.VerifyVector(globs()) &&
- verifier.VerifyVectorOfStrings(globs()) &&
verifier.EndTable();
}
ConnectReplyRawT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
@@ -1066,9 +1087,6 @@ struct ConnectReplyRawBuilder {
void add_files(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> files) {
fbb_.AddOffset(ConnectReplyRaw::VT_FILES, files);
}
- void add_globs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> globs) {
- fbb_.AddOffset(ConnectReplyRaw::VT_GLOBS, globs);
- }
explicit ConnectReplyRawBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -1093,11 +1111,9 @@ inline flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRaw(
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> leak_frames = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> race_frames = 0,
rpc::Feature features = static_cast<rpc::Feature>(0),
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> files = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> globs = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> files = 0) {
ConnectReplyRawBuilder builder_(_fbb);
builder_.add_features(features);
- builder_.add_globs(globs);
builder_.add_files(files);
builder_.add_race_frames(race_frames);
builder_.add_leak_frames(leak_frames);
@@ -1125,12 +1141,10 @@ inline flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRawDirect(
const std::vector<flatbuffers::Offset<flatbuffers::String>> *leak_frames = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *race_frames = nullptr,
rpc::Feature features = static_cast<rpc::Feature>(0),
- const std::vector<flatbuffers::Offset<flatbuffers::String>> *files = nullptr,
- const std::vector<flatbuffers::Offset<flatbuffers::String>> *globs = nullptr) {
+ const std::vector<flatbuffers::Offset<flatbuffers::String>> *files = nullptr) {
auto leak_frames__ = leak_frames ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*leak_frames) : 0;
auto race_frames__ = race_frames ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*race_frames) : 0;
auto files__ = files ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*files) : 0;
- auto globs__ = globs ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*globs) : 0;
return rpc::CreateConnectReplyRaw(
_fbb,
debug,
@@ -1144,8 +1158,7 @@ inline flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRawDirect(
leak_frames__,
race_frames__,
features,
- files__,
- globs__);
+ files__);
}
flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRaw(flatbuffers::FlatBufferBuilder &_fbb, const ConnectReplyRawT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
@@ -1155,7 +1168,6 @@ struct InfoRequestRawT : public flatbuffers::NativeTable {
std::string error{};
std::vector<std::unique_ptr<rpc::FeatureInfoRawT>> features{};
std::vector<std::unique_ptr<rpc::FileInfoRawT>> files{};
- std::vector<std::unique_ptr<rpc::GlobInfoRawT>> globs{};
InfoRequestRawT() = default;
InfoRequestRawT(const InfoRequestRawT &o);
InfoRequestRawT(InfoRequestRawT&&) FLATBUFFERS_NOEXCEPT = default;
@@ -1168,8 +1180,7 @@ struct InfoRequestRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_ERROR = 4,
VT_FEATURES = 6,
- VT_FILES = 8,
- VT_GLOBS = 10
+ VT_FILES = 8
};
const flatbuffers::String *error() const {
return GetPointer<const flatbuffers::String *>(VT_ERROR);
@@ -1180,9 +1191,6 @@ struct InfoRequestRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const flatbuffers::Vector<flatbuffers::Offset<rpc::FileInfoRaw>> *files() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<rpc::FileInfoRaw>> *>(VT_FILES);
}
- const flatbuffers::Vector<flatbuffers::Offset<rpc::GlobInfoRaw>> *globs() const {
- return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<rpc::GlobInfoRaw>> *>(VT_GLOBS);
- }
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_ERROR) &&
@@ -1193,9 +1201,6 @@ struct InfoRequestRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyOffset(verifier, VT_FILES) &&
verifier.VerifyVector(files()) &&
verifier.VerifyVectorOfTables(files()) &&
- VerifyOffset(verifier, VT_GLOBS) &&
- verifier.VerifyVector(globs()) &&
- verifier.VerifyVectorOfTables(globs()) &&
verifier.EndTable();
}
InfoRequestRawT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
@@ -1216,9 +1221,6 @@ struct InfoRequestRawBuilder {
void add_files(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::FileInfoRaw>>> files) {
fbb_.AddOffset(InfoRequestRaw::VT_FILES, files);
}
- void add_globs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::GlobInfoRaw>>> globs) {
- fbb_.AddOffset(InfoRequestRaw::VT_GLOBS, globs);
- }
explicit InfoRequestRawBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -1234,10 +1236,8 @@ inline flatbuffers::Offset<InfoRequestRaw> CreateInfoRequestRaw(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<flatbuffers::String> error = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::FeatureInfoRaw>>> features = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::FileInfoRaw>>> files = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::GlobInfoRaw>>> globs = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<rpc::FileInfoRaw>>> files = 0) {
InfoRequestRawBuilder builder_(_fbb);
- builder_.add_globs(globs);
builder_.add_files(files);
builder_.add_features(features);
builder_.add_error(error);
@@ -1248,18 +1248,15 @@ inline flatbuffers::Offset<InfoRequestRaw> CreateInfoRequestRawDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const char *error = nullptr,
const std::vector<flatbuffers::Offset<rpc::FeatureInfoRaw>> *features = nullptr,
- const std::vector<flatbuffers::Offset<rpc::FileInfoRaw>> *files = nullptr,
- const std::vector<flatbuffers::Offset<rpc::GlobInfoRaw>> *globs = nullptr) {
+ const std::vector<flatbuffers::Offset<rpc::FileInfoRaw>> *files = nullptr) {
auto error__ = error ? _fbb.CreateString(error) : 0;
auto features__ = features ? _fbb.CreateVector<flatbuffers::Offset<rpc::FeatureInfoRaw>>(*features) : 0;
auto files__ = files ? _fbb.CreateVector<flatbuffers::Offset<rpc::FileInfoRaw>>(*files) : 0;
- auto globs__ = globs ? _fbb.CreateVector<flatbuffers::Offset<rpc::GlobInfoRaw>>(*globs) : 0;
return rpc::CreateInfoRequestRaw(
_fbb,
error__,
features__,
- files__,
- globs__);
+ files__);
}
flatbuffers::Offset<InfoRequestRaw> CreateInfoRequestRaw(flatbuffers::FlatBufferBuilder &_fbb, const InfoRequestRawT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
@@ -1777,8 +1774,9 @@ flatbuffers::Offset<ExecutorMessageRaw> CreateExecutorMessageRaw(flatbuffers::Fl
struct ExecRequestRawT : public flatbuffers::NativeTable {
typedef ExecRequestRaw TableType;
int64_t id = 0;
+ rpc::RequestType type = rpc::RequestType::Program;
uint64_t avoid = 0;
- std::vector<uint8_t> prog_data{};
+ std::vector<uint8_t> data{};
std::unique_ptr<rpc::ExecOptsRaw> exec_opts{};
rpc::RequestFlag flags = static_cast<rpc::RequestFlag>(0);
std::vector<int32_t> all_signal{};
@@ -1793,20 +1791,24 @@ struct ExecRequestRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ExecRequestRawBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_ID = 4,
- VT_AVOID = 6,
- VT_PROG_DATA = 8,
- VT_EXEC_OPTS = 10,
- VT_FLAGS = 12,
- VT_ALL_SIGNAL = 14
+ VT_TYPE = 6,
+ VT_AVOID = 8,
+ VT_DATA = 10,
+ VT_EXEC_OPTS = 12,
+ VT_FLAGS = 14,
+ VT_ALL_SIGNAL = 16
};
int64_t id() const {
return GetField<int64_t>(VT_ID, 0);
}
+ rpc::RequestType type() const {
+ return static_cast<rpc::RequestType>(GetField<uint64_t>(VT_TYPE, 0));
+ }
uint64_t avoid() const {
return GetField<uint64_t>(VT_AVOID, 0);
}
- const flatbuffers::Vector<uint8_t> *prog_data() const {
- return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_PROG_DATA);
+ const flatbuffers::Vector<uint8_t> *data() const {
+ return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DATA);
}
const rpc::ExecOptsRaw *exec_opts() const {
return GetStruct<const rpc::ExecOptsRaw *>(VT_EXEC_OPTS);
@@ -1820,9 +1822,10 @@ struct ExecRequestRaw FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<int64_t>(verifier, VT_ID, 8) &&
+ VerifyField<uint64_t>(verifier, VT_TYPE, 8) &&
VerifyField<uint64_t>(verifier, VT_AVOID, 8) &&
- VerifyOffset(verifier, VT_PROG_DATA) &&
- verifier.VerifyVector(prog_data()) &&
+ VerifyOffset(verifier, VT_DATA) &&
+ verifier.VerifyVector(data()) &&
VerifyField<rpc::ExecOptsRaw>(verifier, VT_EXEC_OPTS, 8) &&
VerifyField<uint64_t>(verifier, VT_FLAGS, 8) &&
VerifyOffset(verifier, VT_ALL_SIGNAL) &&
@@ -1841,11 +1844,14 @@ struct ExecRequestRawBuilder {
void add_id(int64_t id) {
fbb_.AddElement<int64_t>(ExecRequestRaw::VT_ID, id, 0);
}
+ void add_type(rpc::RequestType type) {
+ fbb_.AddElement<uint64_t>(ExecRequestRaw::VT_TYPE, static_cast<uint64_t>(type), 0);
+ }
void add_avoid(uint64_t avoid) {
fbb_.AddElement<uint64_t>(ExecRequestRaw::VT_AVOID, avoid, 0);
}
- void add_prog_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> prog_data) {
- fbb_.AddOffset(ExecRequestRaw::VT_PROG_DATA, prog_data);
+ void add_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data) {
+ fbb_.AddOffset(ExecRequestRaw::VT_DATA, data);
}
void add_exec_opts(const rpc::ExecOptsRaw *exec_opts) {
fbb_.AddStruct(ExecRequestRaw::VT_EXEC_OPTS, exec_opts);
@@ -1870,36 +1876,40 @@ struct ExecRequestRawBuilder {
inline flatbuffers::Offset<ExecRequestRaw> CreateExecRequestRaw(
flatbuffers::FlatBufferBuilder &_fbb,
int64_t id = 0,
+ rpc::RequestType type = rpc::RequestType::Program,
uint64_t avoid = 0,
- flatbuffers::Offset<flatbuffers::Vector<uint8_t>> prog_data = 0,
+ flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data = 0,
const rpc::ExecOptsRaw *exec_opts = nullptr,
rpc::RequestFlag flags = static_cast<rpc::RequestFlag>(0),
flatbuffers::Offset<flatbuffers::Vector<int32_t>> all_signal = 0) {
ExecRequestRawBuilder builder_(_fbb);
builder_.add_flags(flags);
builder_.add_avoid(avoid);
+ builder_.add_type(type);
builder_.add_id(id);
builder_.add_all_signal(all_signal);
builder_.add_exec_opts(exec_opts);
- builder_.add_prog_data(prog_data);
+ builder_.add_data(data);
return builder_.Finish();
}
inline flatbuffers::Offset<ExecRequestRaw> CreateExecRequestRawDirect(
flatbuffers::FlatBufferBuilder &_fbb,
int64_t id = 0,
+ rpc::RequestType type = rpc::RequestType::Program,
uint64_t avoid = 0,
- const std::vector<uint8_t> *prog_data = nullptr,
+ const std::vector<uint8_t> *data = nullptr,
const rpc::ExecOptsRaw *exec_opts = nullptr,
rpc::RequestFlag flags = static_cast<rpc::RequestFlag>(0),
const std::vector<int32_t> *all_signal = nullptr) {
- auto prog_data__ = prog_data ? _fbb.CreateVector<uint8_t>(*prog_data) : 0;
+ auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
auto all_signal__ = all_signal ? _fbb.CreateVector<int32_t>(*all_signal) : 0;
return rpc::CreateExecRequestRaw(
_fbb,
id,
+ type,
avoid,
- prog_data__,
+ data__,
exec_opts,
flags,
all_signal__);
@@ -2942,7 +2952,6 @@ inline void ConnectReplyRaw::UnPackTo(ConnectReplyRawT *_o, const flatbuffers::r
{ auto _e = race_frames(); if (_e) { _o->race_frames.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->race_frames[_i] = _e->Get(_i)->str(); } } }
{ auto _e = features(); _o->features = _e; }
{ auto _e = files(); if (_e) { _o->files.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->files[_i] = _e->Get(_i)->str(); } } }
- { auto _e = globs(); if (_e) { _o->globs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->globs[_i] = _e->Get(_i)->str(); } } }
}
inline flatbuffers::Offset<ConnectReplyRaw> ConnectReplyRaw::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConnectReplyRawT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
@@ -2965,7 +2974,6 @@ inline flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRaw(flatbuffers::F
auto _race_frames = _o->race_frames.size() ? _fbb.CreateVectorOfStrings(_o->race_frames) : 0;
auto _features = _o->features;
auto _files = _o->files.size() ? _fbb.CreateVectorOfStrings(_o->files) : 0;
- auto _globs = _o->globs.size() ? _fbb.CreateVectorOfStrings(_o->globs) : 0;
return rpc::CreateConnectReplyRaw(
_fbb,
_debug,
@@ -2979,8 +2987,7 @@ inline flatbuffers::Offset<ConnectReplyRaw> CreateConnectReplyRaw(flatbuffers::F
_leak_frames,
_race_frames,
_features,
- _files,
- _globs);
+ _files);
}
inline InfoRequestRawT::InfoRequestRawT(const InfoRequestRawT &o)
@@ -2989,15 +2996,12 @@ inline InfoRequestRawT::InfoRequestRawT(const InfoRequestRawT &o)
for (const auto &features_ : o.features) { features.emplace_back((features_) ? new rpc::FeatureInfoRawT(*features_) : nullptr); }
files.reserve(o.files.size());
for (const auto &files_ : o.files) { files.emplace_back((files_) ? new rpc::FileInfoRawT(*files_) : nullptr); }
- globs.reserve(o.globs.size());
- for (const auto &globs_ : o.globs) { globs.emplace_back((globs_) ? new rpc::GlobInfoRawT(*globs_) : nullptr); }
}
inline InfoRequestRawT &InfoRequestRawT::operator=(InfoRequestRawT o) FLATBUFFERS_NOEXCEPT {
std::swap(error, o.error);
std::swap(features, o.features);
std::swap(files, o.files);
- std::swap(globs, o.globs);
return *this;
}
@@ -3013,7 +3017,6 @@ inline void InfoRequestRaw::UnPackTo(InfoRequestRawT *_o, const flatbuffers::res
{ auto _e = error(); if (_e) _o->error = _e->str(); }
{ auto _e = features(); if (_e) { _o->features.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->features[_i] = std::unique_ptr<rpc::FeatureInfoRawT>(_e->Get(_i)->UnPack(_resolver)); } } }
{ auto _e = files(); if (_e) { _o->files.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->files[_i] = std::unique_ptr<rpc::FileInfoRawT>(_e->Get(_i)->UnPack(_resolver)); } } }
- { auto _e = globs(); if (_e) { _o->globs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->globs[_i] = std::unique_ptr<rpc::GlobInfoRawT>(_e->Get(_i)->UnPack(_resolver)); } } }
}
inline flatbuffers::Offset<InfoRequestRaw> InfoRequestRaw::Pack(flatbuffers::FlatBufferBuilder &_fbb, const InfoRequestRawT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
@@ -3027,13 +3030,11 @@ inline flatbuffers::Offset<InfoRequestRaw> CreateInfoRequestRaw(flatbuffers::Fla
auto _error = _o->error.empty() ? 0 : _fbb.CreateString(_o->error);
auto _features = _o->features.size() ? _fbb.CreateVector<flatbuffers::Offset<rpc::FeatureInfoRaw>> (_o->features.size(), [](size_t i, _VectorArgs *__va) { return CreateFeatureInfoRaw(*__va->__fbb, __va->__o->features[i].get(), __va->__rehasher); }, &_va ) : 0;
auto _files = _o->files.size() ? _fbb.CreateVector<flatbuffers::Offset<rpc::FileInfoRaw>> (_o->files.size(), [](size_t i, _VectorArgs *__va) { return CreateFileInfoRaw(*__va->__fbb, __va->__o->files[i].get(), __va->__rehasher); }, &_va ) : 0;
- auto _globs = _o->globs.size() ? _fbb.CreateVector<flatbuffers::Offset<rpc::GlobInfoRaw>> (_o->globs.size(), [](size_t i, _VectorArgs *__va) { return CreateGlobInfoRaw(*__va->__fbb, __va->__o->globs[i].get(), __va->__rehasher); }, &_va ) : 0;
return rpc::CreateInfoRequestRaw(
_fbb,
_error,
_features,
- _files,
- _globs);
+ _files);
}
inline InfoReplyRawT *InfoReplyRaw::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
@@ -3218,8 +3219,9 @@ inline flatbuffers::Offset<ExecutorMessageRaw> CreateExecutorMessageRaw(flatbuff
inline ExecRequestRawT::ExecRequestRawT(const ExecRequestRawT &o)
: id(o.id),
+ type(o.type),
avoid(o.avoid),
- prog_data(o.prog_data),
+ data(o.data),
exec_opts((o.exec_opts) ? new rpc::ExecOptsRaw(*o.exec_opts) : nullptr),
flags(o.flags),
all_signal(o.all_signal) {
@@ -3227,8 +3229,9 @@ inline ExecRequestRawT::ExecRequestRawT(const ExecRequestRawT &o)
inline ExecRequestRawT &ExecRequestRawT::operator=(ExecRequestRawT o) FLATBUFFERS_NOEXCEPT {
std::swap(id, o.id);
+ std::swap(type, o.type);
std::swap(avoid, o.avoid);
- std::swap(prog_data, o.prog_data);
+ std::swap(data, o.data);
std::swap(exec_opts, o.exec_opts);
std::swap(flags, o.flags);
std::swap(all_signal, o.all_signal);
@@ -3245,8 +3248,9 @@ inline void ExecRequestRaw::UnPackTo(ExecRequestRawT *_o, const flatbuffers::res
(void)_o;
(void)_resolver;
{ auto _e = id(); _o->id = _e; }
+ { auto _e = type(); _o->type = _e; }
{ auto _e = avoid(); _o->avoid = _e; }
- { auto _e = prog_data(); if (_e) { _o->prog_data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->prog_data.begin()); } }
+ { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } }
{ auto _e = exec_opts(); if (_e) _o->exec_opts = std::unique_ptr<rpc::ExecOptsRaw>(new rpc::ExecOptsRaw(*_e)); }
{ auto _e = flags(); _o->flags = _e; }
{ auto _e = all_signal(); if (_e) { _o->all_signal.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->all_signal[_i] = _e->Get(_i); } } }
@@ -3261,16 +3265,18 @@ inline flatbuffers::Offset<ExecRequestRaw> CreateExecRequestRaw(flatbuffers::Fla
(void)_o;
struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ExecRequestRawT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
auto _id = _o->id;
+ auto _type = _o->type;
auto _avoid = _o->avoid;
- auto _prog_data = _o->prog_data.size() ? _fbb.CreateVector(_o->prog_data) : 0;
+ auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0;
auto _exec_opts = _o->exec_opts ? _o->exec_opts.get() : nullptr;
auto _flags = _o->flags;
auto _all_signal = _o->all_signal.size() ? _fbb.CreateVector(_o->all_signal) : 0;
return rpc::CreateExecRequestRaw(
_fbb,
_id,
+ _type,
_avoid,
- _prog_data,
+ _data,
_exec_opts,
_flags,
_all_signal);