analysis

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package analysis is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	AnalysisService_CreateAnalysis_FullMethodName = "/proto.api.v1.analysis.AnalysisService/CreateAnalysis"
	AnalysisService_GetAnalysis_FullMethodName    = "/proto.api.v1.analysis.AnalysisService/GetAnalysis"
	AnalysisService_ListAnalyses_FullMethodName   = "/proto.api.v1.analysis.AnalysisService/ListAnalyses"
)

Variables

View Source
var (
	Analysis_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "PENDING",
		2: "RUNNING",
		3: "SUCCEEDED",
		4: "FAILED",
		5: "CANCELLED",
	}
	Analysis_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"PENDING":           1,
		"RUNNING":           2,
		"SUCCEEDED":         3,
		"FAILED":            4,
		"CANCELLED":         5,
	}
)

Enum value maps for Analysis_State.

View Source
var (
	Vertex_VertexType_name = map[int32]string{
		0: "VERTEX_TYPE_UNSPECIFIED",
		1: "AND",
		2: "LEAF",
		3: "OR",
	}
	Vertex_VertexType_value = map[string]int32{
		"VERTEX_TYPE_UNSPECIFIED": 0,
		"AND":                     1,
		"LEAF":                    2,
		"OR":                      3,
	}
)

Enum value maps for Vertex_VertexType.

View Source
var AnalysisService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "proto.api.v1.analysis.AnalysisService",
	HandlerType: (*AnalysisServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateAnalysis",
			Handler:    _AnalysisService_CreateAnalysis_Handler,
		},
		{
			MethodName: "GetAnalysis",
			Handler:    _AnalysisService_GetAnalysis_Handler,
		},
		{
			MethodName: "ListAnalyses",
			Handler:    _AnalysisService_ListAnalyses_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/api/v1/analysis/analysis.proto",
}

AnalysisService_ServiceDesc is the grpc.ServiceDesc for AnalysisService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_proto_api_v1_analysis_analysis_proto protoreflect.FileDescriptor

Functions

func RegisterAnalysisServiceHandler

func RegisterAnalysisServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterAnalysisServiceHandler registers the http handlers for service AnalysisService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterAnalysisServiceHandlerClient

func RegisterAnalysisServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AnalysisServiceClient) error

RegisterAnalysisServiceHandlerClient registers the http handlers for service AnalysisService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AnalysisServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AnalysisServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AnalysisServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.

func RegisterAnalysisServiceHandlerFromEndpoint

func RegisterAnalysisServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterAnalysisServiceHandlerFromEndpoint is same as RegisterAnalysisServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterAnalysisServiceHandlerServer

func RegisterAnalysisServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AnalysisServiceServer) error

RegisterAnalysisServiceHandlerServer registers the http handlers for service AnalysisService to "mux". UnaryRPC :call AnalysisServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAnalysisServiceHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.

func RegisterAnalysisServiceServer

func RegisterAnalysisServiceServer(s grpc.ServiceRegistrar, srv AnalysisServiceServer)

Types

type Analysis

type Analysis struct {

	// Resource name. Server-assigned if not provided on creation.
	// Format: analyses/{analysis_id}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Client-provided idempotency key. If a request with the same
	// analysis_id is received while a run is in progress or completed,
	// the existing operation is returned rather than starting a new run.
	// Optional — server assigns a UUID if omitted.
	AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"`
	// EDB ground facts in MulVAL Prolog syntax, one clause per entry.
	// Example: "hacl(internet, webServer, tcp, 80)."
	// Required.
	EdbFacts []string `protobuf:"bytes,3,rep,name=edb_facts,json=edbFacts,proto3" json:"edb_facts,omitempty"`
	// Additional IDB interaction rules in MulVAL Prolog syntax.
	// These are appended to the default MulVAL interaction rules via
	// graph_gen.sh -a. Optional — only the default rules apply if empty.
	IdbRules []string `protobuf:"bytes,4,rep,name=idb_rules,json=idbRules,proto3" json:"idb_rules,omitempty"`
	// The state of the analysis.
	State Analysis_State `protobuf:"varint,5,opt,name=state,proto3,enum=proto.api.v1.analysis.Analysis_State" json:"state,omitempty"`
	// When the analysis was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// When the analysis completed (succeeded or failed).
	EndTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// The attack graph result. Populated only when state = SUCCEEDED.
	AttackGraph *AttackGraph `protobuf:"bytes,8,opt,name=attack_graph,json=attackGraph,proto3" json:"attack_graph,omitempty"`
	// Human-readable error message. Populated only when state = FAILED.
	Error string `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

Analysis represents a single MulVAL attack graph generation run. Resource name: analyses/{analysis_id}

func (*Analysis) Descriptor deprecated

func (*Analysis) Descriptor() ([]byte, []int)

Deprecated: Use Analysis.ProtoReflect.Descriptor instead.

func (*Analysis) GetAnalysisId

func (x *Analysis) GetAnalysisId() string

func (*Analysis) GetAttackGraph

func (x *Analysis) GetAttackGraph() *AttackGraph

func (*Analysis) GetCreateTime

func (x *Analysis) GetCreateTime() *timestamppb.Timestamp

func (*Analysis) GetEdbFacts

func (x *Analysis) GetEdbFacts() []string

func (*Analysis) GetEndTime

func (x *Analysis) GetEndTime() *timestamppb.Timestamp

func (*Analysis) GetError

func (x *Analysis) GetError() string

func (*Analysis) GetIdbRules

func (x *Analysis) GetIdbRules() []string

func (*Analysis) GetName

func (x *Analysis) GetName() string

func (*Analysis) GetState

func (x *Analysis) GetState() Analysis_State

func (*Analysis) ProtoMessage

func (*Analysis) ProtoMessage()

func (*Analysis) ProtoReflect

func (x *Analysis) ProtoReflect() protoreflect.Message

func (*Analysis) Reset

func (x *Analysis) Reset()

func (*Analysis) String

func (x *Analysis) String() string

type AnalysisOperationMetadata

type AnalysisOperationMetadata struct {

	// Resource name of the analysis being executed.
	Analysis string `protobuf:"bytes,1,opt,name=analysis,proto3" json:"analysis,omitempty"`
	// Current state.
	State Analysis_State `protobuf:"varint,2,opt,name=state,proto3,enum=proto.api.v1.analysis.Analysis_State" json:"state,omitempty"`
	// When the operation was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// When the operation last changed state.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// contains filtered or unexported fields
}

AnalysisOperationMetadata is embedded in Operation.metadata during a run. AIP-151: metadata must describe the current status of the LRO.

func (*AnalysisOperationMetadata) Descriptor deprecated

func (*AnalysisOperationMetadata) Descriptor() ([]byte, []int)

Deprecated: Use AnalysisOperationMetadata.ProtoReflect.Descriptor instead.

func (*AnalysisOperationMetadata) GetAnalysis

func (x *AnalysisOperationMetadata) GetAnalysis() string

func (*AnalysisOperationMetadata) GetCreateTime

func (x *AnalysisOperationMetadata) GetCreateTime() *timestamppb.Timestamp

func (*AnalysisOperationMetadata) GetState

func (*AnalysisOperationMetadata) GetUpdateTime

func (x *AnalysisOperationMetadata) GetUpdateTime() *timestamppb.Timestamp

func (*AnalysisOperationMetadata) ProtoMessage

func (*AnalysisOperationMetadata) ProtoMessage()

func (*AnalysisOperationMetadata) ProtoReflect

func (*AnalysisOperationMetadata) Reset

func (x *AnalysisOperationMetadata) Reset()

func (*AnalysisOperationMetadata) String

func (x *AnalysisOperationMetadata) String() string

type AnalysisServiceClient

type AnalysisServiceClient interface {
	// CreateAnalysis submits a new MulVAL analysis job.
	//
	// AIP-133: standard Create pattern.
	// AIP-151: returns an LRO immediately; poll via GetOperation.
	//
	// Idempotency: if analysis_id is provided and matches an existing
	// in-progress or completed analysis, the existing operation is returned.
	CreateAnalysis(ctx context.Context, in *CreateAnalysisRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// GetAnalysis retrieves a completed or in-progress analysis by name.
	//
	// AIP-131: standard Get pattern.
	GetAnalysis(ctx context.Context, in *GetAnalysisRequest, opts ...grpc.CallOption) (*Analysis, error)
	ListAnalyses(ctx context.Context, in *ListAnalysesRequest, opts ...grpc.CallOption) (*ListAnalysesResponse, error)
}

AnalysisServiceClient is the client API for AnalysisService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type AnalysisServiceServer

type AnalysisServiceServer interface {
	// CreateAnalysis submits a new MulVAL analysis job.
	//
	// AIP-133: standard Create pattern.
	// AIP-151: returns an LRO immediately; poll via GetOperation.
	//
	// Idempotency: if analysis_id is provided and matches an existing
	// in-progress or completed analysis, the existing operation is returned.
	CreateAnalysis(context.Context, *CreateAnalysisRequest) (*longrunningpb.Operation, error)
	// GetAnalysis retrieves a completed or in-progress analysis by name.
	//
	// AIP-131: standard Get pattern.
	GetAnalysis(context.Context, *GetAnalysisRequest) (*Analysis, error)
	ListAnalyses(context.Context, *ListAnalysesRequest) (*ListAnalysesResponse, error)
	// contains filtered or unexported methods
}

AnalysisServiceServer is the server API for AnalysisService service. All implementations must embed UnimplementedAnalysisServiceServer for forward compatibility.

type Analysis_State

type Analysis_State int32

Lifecycle states of an analysis.

const (
	Analysis_STATE_UNSPECIFIED Analysis_State = 0
	// Queued, not yet started.
	Analysis_PENDING Analysis_State = 1
	// MulVAL subprocess is running.
	Analysis_RUNNING Analysis_State = 2
	// Completed successfully. attack_graph is populated.
	Analysis_SUCCEEDED Analysis_State = 3
	// MulVAL returned an error. error field is populated.
	Analysis_FAILED Analysis_State = 4
	// Cancelled by the client.
	Analysis_CANCELLED Analysis_State = 5
)

func (Analysis_State) Descriptor

func (Analysis_State) Enum

func (x Analysis_State) Enum() *Analysis_State

func (Analysis_State) EnumDescriptor deprecated

func (Analysis_State) EnumDescriptor() ([]byte, []int)

Deprecated: Use Analysis_State.Descriptor instead.

func (Analysis_State) Number

func (Analysis_State) String

func (x Analysis_State) String() string

func (Analysis_State) Type

type Arc

type Arc struct {

	// Source vertex ID.
	Src int32 `protobuf:"varint,1,opt,name=src,proto3" json:"src,omitempty"`
	// Destination vertex ID.
	Dst int32 `protobuf:"varint,2,opt,name=dst,proto3" json:"dst,omitempty"`
	// contains filtered or unexported fields
}

Arc represents a directed edge in the attack graph.

func (*Arc) Descriptor deprecated

func (*Arc) Descriptor() ([]byte, []int)

Deprecated: Use Arc.ProtoReflect.Descriptor instead.

func (*Arc) GetDst

func (x *Arc) GetDst() int32

func (*Arc) GetSrc

func (x *Arc) GetSrc() int32

func (*Arc) ProtoMessage

func (*Arc) ProtoMessage()

func (*Arc) ProtoReflect

func (x *Arc) ProtoReflect() protoreflect.Message

func (*Arc) Reset

func (x *Arc) Reset()

func (*Arc) String

func (x *Arc) String() string

type AttackGraph

type AttackGraph struct {

	// Raw content of VERTICES.CSV as produced by MulVAL.
	VerticesCsv string `protobuf:"bytes,1,opt,name=vertices_csv,json=verticesCsv,proto3" json:"vertices_csv,omitempty"`
	// Raw content of ARCS.CSV as produced by MulVAL.
	ArcsCsv string `protobuf:"bytes,2,opt,name=arcs_csv,json=arcsCsv,proto3" json:"arcs_csv,omitempty"`
	// Raw content of AttackGraph.txt (MulVAL's text summary).
	Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
	// Parsed vertices for programmatic consumption.
	Vertices []*Vertex `protobuf:"bytes,4,rep,name=vertices,proto3" json:"vertices,omitempty"`
	// Parsed arcs for programmatic consumption.
	Arcs []*Arc `protobuf:"bytes,5,rep,name=arcs,proto3" json:"arcs,omitempty"`
	// contains filtered or unexported fields
}

AttackGraph is the output of a completed Analysis.

func (*AttackGraph) Descriptor deprecated

func (*AttackGraph) Descriptor() ([]byte, []int)

Deprecated: Use AttackGraph.ProtoReflect.Descriptor instead.

func (*AttackGraph) GetArcs

func (x *AttackGraph) GetArcs() []*Arc

func (*AttackGraph) GetArcsCsv

func (x *AttackGraph) GetArcsCsv() string

func (*AttackGraph) GetSummary

func (x *AttackGraph) GetSummary() string

func (*AttackGraph) GetVertices

func (x *AttackGraph) GetVertices() []*Vertex

func (*AttackGraph) GetVerticesCsv

func (x *AttackGraph) GetVerticesCsv() string

func (*AttackGraph) ProtoMessage

func (*AttackGraph) ProtoMessage()

func (*AttackGraph) ProtoReflect

func (x *AttackGraph) ProtoReflect() protoreflect.Message

func (*AttackGraph) Reset

func (x *AttackGraph) Reset()

func (*AttackGraph) String

func (x *AttackGraph) String() string

type CreateAnalysisRequest

type CreateAnalysisRequest struct {

	// Resource name. Server-assigned if not provided on creation.
	// Format: analyses/{analysis_id}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Client-provided idempotency key. If a request with the same
	// analysis_id is received while a run is in progress or completed,
	// the existing operation is returned rather than starting a new run.
	// Optional — server assigns a UUID if omitted.
	AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"`
	// EDB ground facts in MulVAL Prolog syntax, one clause per entry.
	// Example: "hacl(internet, webServer, tcp, 80)."
	// Required.
	EdbFacts []string `protobuf:"bytes,3,rep,name=edb_facts,json=edbFacts,proto3" json:"edb_facts,omitempty"`
	// Additional IDB interaction rules in MulVAL Prolog syntax.
	// These are appended to the default MulVAL interaction rules via
	// graph_gen.sh -a. Optional — only the default rules apply if empty.
	IdbRules []string `protobuf:"bytes,4,rep,name=idb_rules,json=idbRules,proto3" json:"idb_rules,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateAnalysisRequest) Descriptor deprecated

func (*CreateAnalysisRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateAnalysisRequest.ProtoReflect.Descriptor instead.

func (*CreateAnalysisRequest) GetAnalysisId

func (x *CreateAnalysisRequest) GetAnalysisId() string

func (*CreateAnalysisRequest) GetEdbFacts

func (x *CreateAnalysisRequest) GetEdbFacts() []string

func (*CreateAnalysisRequest) GetIdbRules

func (x *CreateAnalysisRequest) GetIdbRules() []string

func (*CreateAnalysisRequest) GetName

func (x *CreateAnalysisRequest) GetName() string

func (*CreateAnalysisRequest) ProtoMessage

func (*CreateAnalysisRequest) ProtoMessage()

func (*CreateAnalysisRequest) ProtoReflect

func (x *CreateAnalysisRequest) ProtoReflect() protoreflect.Message

func (*CreateAnalysisRequest) Reset

func (x *CreateAnalysisRequest) Reset()

func (*CreateAnalysisRequest) String

func (x *CreateAnalysisRequest) String() string

type GetAnalysisRequest

type GetAnalysisRequest struct {

	// Resource name of the analysis to retrieve.
	// Format: analyses/{analysis_id}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAnalysisRequest) Descriptor deprecated

func (*GetAnalysisRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetAnalysisRequest.ProtoReflect.Descriptor instead.

func (*GetAnalysisRequest) GetName

func (x *GetAnalysisRequest) GetName() string

func (*GetAnalysisRequest) ProtoMessage

func (*GetAnalysisRequest) ProtoMessage()

func (*GetAnalysisRequest) ProtoReflect

func (x *GetAnalysisRequest) ProtoReflect() protoreflect.Message

func (*GetAnalysisRequest) Reset

func (x *GetAnalysisRequest) Reset()

func (*GetAnalysisRequest) String

func (x *GetAnalysisRequest) String() string

type ListAnalysesRequest

type ListAnalysesRequest struct {

	// Maximum number of analyses to return.
	// Defaults to 50 if unset or zero. Maximum is 1000.
	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Opaque token returned by a previous ListAnalyses call.
	// Leave empty to start from the beginning.
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListAnalysesRequest) Descriptor deprecated

func (*ListAnalysesRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListAnalysesRequest.ProtoReflect.Descriptor instead.

func (*ListAnalysesRequest) GetPageSize

func (x *ListAnalysesRequest) GetPageSize() int32

func (*ListAnalysesRequest) GetPageToken

func (x *ListAnalysesRequest) GetPageToken() string

func (*ListAnalysesRequest) ProtoMessage

func (*ListAnalysesRequest) ProtoMessage()

func (*ListAnalysesRequest) ProtoReflect

func (x *ListAnalysesRequest) ProtoReflect() protoreflect.Message

func (*ListAnalysesRequest) Reset

func (x *ListAnalysesRequest) Reset()

func (*ListAnalysesRequest) String

func (x *ListAnalysesRequest) String() string

type ListAnalysesResponse

type ListAnalysesResponse struct {
	Analyses []*Analysis `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"`
	// Token to retrieve the next page.
	// Empty when there are no more results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListAnalysesResponse) Descriptor deprecated

func (*ListAnalysesResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListAnalysesResponse.ProtoReflect.Descriptor instead.

func (*ListAnalysesResponse) GetAnalyses

func (x *ListAnalysesResponse) GetAnalyses() []*Analysis

func (*ListAnalysesResponse) GetNextPageToken

func (x *ListAnalysesResponse) GetNextPageToken() string

func (*ListAnalysesResponse) ProtoMessage

func (*ListAnalysesResponse) ProtoMessage()

func (*ListAnalysesResponse) ProtoReflect

func (x *ListAnalysesResponse) ProtoReflect() protoreflect.Message

func (*ListAnalysesResponse) Reset

func (x *ListAnalysesResponse) Reset()

func (*ListAnalysesResponse) String

func (x *ListAnalysesResponse) String() string

type UnimplementedAnalysisServiceServer

type UnimplementedAnalysisServiceServer struct{}

UnimplementedAnalysisServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedAnalysisServiceServer) CreateAnalysis

func (UnimplementedAnalysisServiceServer) GetAnalysis

func (UnimplementedAnalysisServiceServer) ListAnalyses

type UnsafeAnalysisServiceServer

type UnsafeAnalysisServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAnalysisServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AnalysisServiceServer will result in compilation errors.

type Vertex

type Vertex struct {

	// Numeric vertex ID as assigned by MulVAL.
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Prolog fact label (e.g. "execCode(webServer,apache)").
	Fact string `protobuf:"bytes,2,opt,name=fact,proto3" json:"fact,omitempty"`
	// Vertex type as classified by MulVAL.
	VertexType Vertex_VertexType `` /* 137-byte string literal not displayed */
	// Whether this vertex is the declared attackGoal.
	IsGoal bool `protobuf:"varint,4,opt,name=is_goal,json=isGoal,proto3" json:"is_goal,omitempty"`
	// contains filtered or unexported fields
}

Vertex represents one node in the attack graph.

func (*Vertex) Descriptor deprecated

func (*Vertex) Descriptor() ([]byte, []int)

Deprecated: Use Vertex.ProtoReflect.Descriptor instead.

func (*Vertex) GetFact

func (x *Vertex) GetFact() string

func (*Vertex) GetId

func (x *Vertex) GetId() int32

func (*Vertex) GetIsGoal

func (x *Vertex) GetIsGoal() bool

func (*Vertex) GetVertexType

func (x *Vertex) GetVertexType() Vertex_VertexType

func (*Vertex) ProtoMessage

func (*Vertex) ProtoMessage()

func (*Vertex) ProtoReflect

func (x *Vertex) ProtoReflect() protoreflect.Message

func (*Vertex) Reset

func (x *Vertex) Reset()

func (*Vertex) String

func (x *Vertex) String() string

type Vertex_VertexType

type Vertex_VertexType int32
const (
	Vertex_VERTEX_TYPE_UNSPECIFIED Vertex_VertexType = 0
	// A derived logical consequence (AND node).
	Vertex_AND Vertex_VertexType = 1
	// A primitive EDB fact (leaf node).
	Vertex_LEAF Vertex_VertexType = 2
	// An OR node (multiple paths lead here).
	Vertex_OR Vertex_VertexType = 3
)

func (Vertex_VertexType) Descriptor

func (Vertex_VertexType) Enum

func (Vertex_VertexType) EnumDescriptor deprecated

func (Vertex_VertexType) EnumDescriptor() ([]byte, []int)

Deprecated: Use Vertex_VertexType.Descriptor instead.

func (Vertex_VertexType) Number

func (Vertex_VertexType) String

func (x Vertex_VertexType) String() string

func (Vertex_VertexType) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL