rgraphql

package module
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 10 Imported by: 11

README

rGraphQL

GoDoc Widget

Two-way streaming GraphQL over real-time transports like WebSockets.

Introduction

rGraphQL is a Real-time Streaming GraphQL* implementation for Go and TypeScript:

  • Uses any two-way communication channel with clients (e.x. WebSockets).
  • Analyzes Go code to automatically generate resolver code fitting a schema.
  • Streams real-time updates to both the request and response.
  • Efficiently packs data on the wire with Protobuf.
  • Simplifies writing resolver functions with a flexible and intuitive API surface.
  • Accepts standard GraphQL queries and produces real-time output.

The rGraphQL protocol allows your apps to efficiently request the exact set of data needed, encode it in an efficient format for transport, and stream live diffs for real-time updates.

Getting Started

rgraphql uses graphql-go to parse the schema.

Install the rgraphql command-line tool:

cd ~
export GO111MODULE=on
go get -v github.com/rgraphql/rgraphql/cmd/rgraphql@master
rgraphql -h

Write a simple schema file schema.graphql:

# RootQuery is the root query object.
type RootQuery {
  counter: Int
}

schema {
    query: RootQuery
}

Write a simple resolver file resolve.go:

// RootResolver resolves RootQuery
type RootResolver struct {}

// GetCounter returns the counter value.
func (r *RootResolver) GetCounter(ctx context.Context, outCh chan<- int) {
	var v int
	for {
		select {
		case <-ctx.Done():
			return
		case <-time.After(time.Second):
			v++
			outCh <- v
		}
	}
}

To analyze the example code in this repo:

cd ./example/simple
go run github.com/rgraphql/rgraphql/cmd/rgraphql \
   analyze --schema ./schema.graphql \
   --go-pkg github.com/rgraphql/rgraphql/example/simple \
   --go-query-type RootResolver \
   --go-output ./resolve/resolve.rgraphql.go

To test the code out:

go test -v github.com/rgraphql/rgraphql/example/simple/resolve

The basic usage of the code is as follows:

// parse schema
mySchema, err := schema.Parse(schemaStr)
// build one query tree per client
queryTree, err := sch.BuildQueryTree(errCh)
errCh := make(chan *proto.RGQLQueryError, 10)

// the client generates a stream of commands like this:
qtNode.ApplyTreeMutation(&proto.RGQLQueryTreeMutation{
    NodeMutation: []*proto.RGQLQueryTreeMutation_NodeMutation{
        &proto.RGQLQueryTreeMutation_NodeMutation{
            NodeId:    0,
            Operation: proto.RGQLQueryTreeMutation_SUBTREE_ADD_CHILD,
            Node: &proto.RGQLQueryTreeNode{
                Id:        1,
                FieldName: "counter",
            },
        },
      },
  })

// results are encoded into a binary stream
encoder := encoder.NewResultEncoder(50)
outputCh := make(chan []byte)
doneCh := make(chan struct{})
go encoder.Run(ctx, outputCh)

// start up the resolvers
// rootRes is the type you provide for the root resolver.
rootRes := &simple.RootResolver{}
resolverCtx := resolver.NewContext(ctx, qtNode, encoder)

// ResolveRootQuery is a goroutine which calls your code 
// according to the ongoing queries, and formats the results
// into the encoder.
go ResolveRootQuery(resolverCtx, rootRes)

A simple example and demo can be found under ./example/simple/resolve.go.

Design

The rgraphql analyzer loads a GraphQL schema and a Go code package. It then "fits" the GraphQL schema to the Go code, generating more Go "resolver" code.

At runtime, the client specifies a stream of modifications to a single global GraphQL query. The client merges together query fragments from UI components, and informs the server of changes to this query as components are mounted and unmounted. The server starts and stops resolvers to produce the requested data, and delivers a binary-packed stream of encoded response data, using a highly optimized protocol. The client re-constructs the result object and provides it to the frontend code, similar to other GraphQL clients.

Implementation

Any two-way communications channel can be used for server<->client communication.

rgraphql builds results by executing resolver functions, which return data for a field in the incoming query. Each type in the GraphQL schema must have a resolver function or field for each of its fields. The signature of these resolvers determines how rgraphql treats the returned data.

Fields can return streams of data over time, which creates a mechanism for live-updating results. One possible implementation could consist of a WebSocket between a browser and server.

Resolvers

The analyzer tries to "fit" the schema to the functions you write. The order and presence of the arguments, the result types, the presence or lack of channels, can be whatever is necessary for your application.

All resolvers can optionally take a context.Context as an argument. Without this argument, the system will consider the resolver as being "trivial." All streaming / live resolvers MUST take a Context argument, as this is the only way for the system to cancel a long-running operation.

Functions with a Get prefix - like GetRegion() string will also be recognized by the system. This means that Protobuf types in Go will be handled automatically.

Here are some examples of resolvers you might write.

Basic Resolver Types
// Return a string, non-nullable.
func (*PersonResolver) Name() string {
  return "Jerry"
}

// Return a string pointer, nullable.
// Lack of context argument indicates "trivial" resolver.
// Returning an error is optional for basic resolver types.
func (*PersonResolver) Name() (*string, error) {
	result := "Jerry"
	return &result, nil
}

// Arguments, inline type definition.
func (*PersonResolver) Name(ctx context.Context, args *struct{ FirstOnly bool }) (*string, error) {
  firstName := "Jerry"
  lastName := "Seinfeld"
  if args.FirstOnly {
    return &firstName, nil
  }
  fullName := fmt.Sprintf("%s %s", firstName, lastName)
  return &fullName, nil
}

type NameArgs struct {
  FirstOnly bool
}

// Arguments, named type.
func (*PersonResolver) Name(ctx context.Context, args *NameArgs) (*string, error) {
  // same as last example.
}
Array Resolvers

There are several ways to return an array of items.

// Return a slice of strings. Non-null: nil slice = 0 entries.
func (r *SentenceResolver) Words() ([]string, error) {
  return []string{"test", "works"}, nil
}

// Return a slice of strings. Nullable: nil pointer = null, nil slice = []
func (r *SentenceResolver) Words() (*[]string, error) {
  result := []string{"test", "works"}
  return &result, nil
  // or: return nil, nil
}

// Return a slice of resolvers.
func (r *PersonResolver) Friends() (*[]*PersonResolver, error) {
  result := []*PersonResolver{&PersonResolver{}, nil}
  return &result, nil
}

// Return a channel of strings.
// Closing the channel marks it as done.
// If the context is canceled, the system ignores anything put in the chan.
func (r *PersonResolver) Friends() (<-chan string, error) {
  result := []*PersonResolver{&PersonResolver{}, nil}
  return &result, nil
}
Streaming Basic Resolvers

To implement "live" resolvers, we take the following function structure:

// Change a person's name over time.
// Returning from the function marks the resolver as complete.
// Streaming resovers must return a single error object.
// Returning from the resolver function indicates the resolver is complete.
// Closing the result channel is OK but the resolver should return soon after.
func (r *PersonResolver) Name(ctx context.Context, args *struct{ FirstOnly bool }, resultChan chan<- string) error {
  done := ctx.Done()
  i := 0
  for {
    i += 1
    nextName := "Tom "+i
    select {
    case <-done:
      return nil
    case resultChan<-nextName:
    }
    select {
    case <-done:
      return nil
    case time.After(time.Duration(1)*time.Second):
    }
  }
}

You can also return a []<-chan string. The system will treat each array element as a live-updating field. Closing a channel will delete an array element. Sending a value over a channel will set the value of that array element. You could also return a <-chan (<-chan string) to get the same effect with an unknown number of array elements.

History

An older reflection-based implementation of this project is available in the "legacy-reflect" branch.

Several other prototypes are available in the legacy- branches.

Developing

If using Go only, you don't need yarn or Node.JS.

Bifrost uses Protobuf for message encoding.

You can re-generate the protobufs after changing any .proto file:

# stage the .proto file so yarn gen sees it
git add .
# install deps
yarn
# generate the protobufs
yarn gen

To run the test suite:

# Go tests only
go test ./...
# All tests
yarn test
# Lint
yarn lint
Developing on MacOS

On MacOS, some homebrew packages are required for yarn gen:

brew install bash make coreutils gnu-sed findutils protobuf
brew link --overwrite protobuf

Add to your .bashrc or .zshrc:

export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"

Support

Please open a GitHub issue with any questions / issues.

... or feel free to reach out on Matrix Chat or Discord.

License

MIT

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RGQLPrimitive_Kind_name = map[int32]string{
		0: "PRIMITIVE_KIND_NULL",
		1: "PRIMITIVE_KIND_INT",
		2: "PRIMITIVE_KIND_FLOAT",
		3: "PRIMITIVE_KIND_STRING",
		4: "PRIMITIVE_KIND_BOOL",
		5: "PRIMITIVE_KIND_OBJECT",
		6: "PRIMITIVE_KIND_ARRAY",
	}
	RGQLPrimitive_Kind_value = map[string]int32{
		"PRIMITIVE_KIND_NULL":   0,
		"PRIMITIVE_KIND_INT":    1,
		"PRIMITIVE_KIND_FLOAT":  2,
		"PRIMITIVE_KIND_STRING": 3,
		"PRIMITIVE_KIND_BOOL":   4,
		"PRIMITIVE_KIND_OBJECT": 5,
		"PRIMITIVE_KIND_ARRAY":  6,
	}
)

Enum value maps for RGQLPrimitive_Kind.

View Source
var (
	RGQLQueryTreeMutation_SubtreeOperation_name = map[int32]string{
		0: "SUBTREE_ADD_CHILD",
		1: "SUBTREE_DELETE",
	}
	RGQLQueryTreeMutation_SubtreeOperation_value = map[string]int32{
		"SUBTREE_ADD_CHILD": 0,
		"SUBTREE_DELETE":    1,
	}
)

Enum value maps for RGQLQueryTreeMutation_SubtreeOperation.

View Source
var (
	RGQLValueInit_CacheStrategy_name = map[int32]string{
		0: "CACHE_LRU",
	}
	RGQLValueInit_CacheStrategy_value = map[string]int32{
		"CACHE_LRU": 0,
	}
)

Enum value maps for RGQLValueInit_CacheStrategy.

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)
View Source
var File_github_com_rgraphql_rgraphql_rgraphql_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ASTVariable added in v0.8.0

type ASTVariable struct {
	Id    uint32         `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Value *RGQLPrimitive `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*ASTVariable) CloneMessageVT added in v0.9.0

func (m *ASTVariable) CloneMessageVT() proto.Message

func (*ASTVariable) CloneVT added in v0.9.0

func (m *ASTVariable) CloneVT() *ASTVariable

func (*ASTVariable) Descriptor deprecated added in v0.8.0

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

Deprecated: Use ASTVariable.ProtoReflect.Descriptor instead.

func (*ASTVariable) EqualMessageVT added in v0.9.0

func (this *ASTVariable) EqualMessageVT(thatMsg proto.Message) bool

func (*ASTVariable) EqualVT added in v0.8.0

func (this *ASTVariable) EqualVT(that *ASTVariable) bool

func (*ASTVariable) GetId added in v0.8.0

func (x *ASTVariable) GetId() uint32

func (*ASTVariable) GetValue added in v0.8.0

func (x *ASTVariable) GetValue() *RGQLPrimitive

func (*ASTVariable) MarshalToSizedBufferVT added in v0.8.0

func (m *ASTVariable) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ASTVariable) MarshalToVT added in v0.8.0

func (m *ASTVariable) MarshalToVT(dAtA []byte) (int, error)

func (*ASTVariable) MarshalVT added in v0.8.0

func (m *ASTVariable) MarshalVT() (dAtA []byte, err error)

func (*ASTVariable) ProtoMessage added in v0.8.0

func (*ASTVariable) ProtoMessage()

func (*ASTVariable) ProtoReflect added in v0.8.0

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

func (*ASTVariable) Reset added in v0.8.0

func (x *ASTVariable) Reset()

func (*ASTVariable) SizeVT added in v0.8.0

func (m *ASTVariable) SizeVT() (n int)

func (*ASTVariable) String added in v0.8.0

func (x *ASTVariable) String() string

func (*ASTVariable) UnmarshalVT added in v0.8.0

func (m *ASTVariable) UnmarshalVT(dAtA []byte) error

type FieldArgument added in v0.8.0

type FieldArgument struct {
	Name       string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	VariableId uint32 `protobuf:"varint,2,opt,name=variable_id,json=variableId,proto3" json:"variable_id,omitempty"`
	// contains filtered or unexported fields
}

func (*FieldArgument) CloneMessageVT added in v0.9.0

func (m *FieldArgument) CloneMessageVT() proto.Message

func (*FieldArgument) CloneVT added in v0.9.0

func (m *FieldArgument) CloneVT() *FieldArgument

func (*FieldArgument) Descriptor deprecated added in v0.8.0

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

Deprecated: Use FieldArgument.ProtoReflect.Descriptor instead.

func (*FieldArgument) EqualMessageVT added in v0.9.0

func (this *FieldArgument) EqualMessageVT(thatMsg proto.Message) bool

func (*FieldArgument) EqualVT added in v0.8.0

func (this *FieldArgument) EqualVT(that *FieldArgument) bool

func (*FieldArgument) GetName added in v0.8.0

func (x *FieldArgument) GetName() string

func (*FieldArgument) GetVariableId added in v0.8.0

func (x *FieldArgument) GetVariableId() uint32

func (*FieldArgument) MarshalToSizedBufferVT added in v0.8.0

func (m *FieldArgument) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*FieldArgument) MarshalToVT added in v0.8.0

func (m *FieldArgument) MarshalToVT(dAtA []byte) (int, error)

func (*FieldArgument) MarshalVT added in v0.8.0

func (m *FieldArgument) MarshalVT() (dAtA []byte, err error)

func (*FieldArgument) ProtoMessage added in v0.8.0

func (*FieldArgument) ProtoMessage()

func (*FieldArgument) ProtoReflect added in v0.8.0

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

func (*FieldArgument) Reset added in v0.8.0

func (x *FieldArgument) Reset()

func (*FieldArgument) SizeVT added in v0.8.0

func (m *FieldArgument) SizeVT() (n int)

func (*FieldArgument) String added in v0.8.0

func (x *FieldArgument) String() string

func (*FieldArgument) UnmarshalVT added in v0.8.0

func (m *FieldArgument) UnmarshalVT(dAtA []byte) error

type RGQLClientMessage added in v0.8.0

type RGQLClientMessage struct {
	InitQuery   *RGQLQueryInit         `protobuf:"bytes,1,opt,name=init_query,json=initQuery,proto3" json:"init_query,omitempty"`
	MutateTree  *RGQLQueryTreeMutation `protobuf:"bytes,2,opt,name=mutate_tree,json=mutateTree,proto3" json:"mutate_tree,omitempty"`
	FinishQuery *RGQLQueryFinish       `protobuf:"bytes,3,opt,name=finish_query,json=finishQuery,proto3" json:"finish_query,omitempty"`
	// contains filtered or unexported fields
}

Messages

func (*RGQLClientMessage) CloneMessageVT added in v0.9.0

func (m *RGQLClientMessage) CloneMessageVT() proto.Message

func (*RGQLClientMessage) CloneVT added in v0.9.0

func (m *RGQLClientMessage) CloneVT() *RGQLClientMessage

func (*RGQLClientMessage) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLClientMessage.ProtoReflect.Descriptor instead.

func (*RGQLClientMessage) EqualMessageVT added in v0.9.0

func (this *RGQLClientMessage) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLClientMessage) EqualVT added in v0.8.0

func (this *RGQLClientMessage) EqualVT(that *RGQLClientMessage) bool

func (*RGQLClientMessage) GetFinishQuery added in v0.8.0

func (x *RGQLClientMessage) GetFinishQuery() *RGQLQueryFinish

func (*RGQLClientMessage) GetInitQuery added in v0.8.0

func (x *RGQLClientMessage) GetInitQuery() *RGQLQueryInit

func (*RGQLClientMessage) GetMutateTree added in v0.8.0

func (x *RGQLClientMessage) GetMutateTree() *RGQLQueryTreeMutation

func (*RGQLClientMessage) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLClientMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLClientMessage) MarshalToVT added in v0.8.0

func (m *RGQLClientMessage) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLClientMessage) MarshalVT added in v0.8.0

func (m *RGQLClientMessage) MarshalVT() (dAtA []byte, err error)

func (*RGQLClientMessage) ProtoMessage added in v0.8.0

func (*RGQLClientMessage) ProtoMessage()

func (*RGQLClientMessage) ProtoReflect added in v0.8.0

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

func (*RGQLClientMessage) Reset added in v0.8.0

func (x *RGQLClientMessage) Reset()

func (*RGQLClientMessage) SizeVT added in v0.8.0

func (m *RGQLClientMessage) SizeVT() (n int)

func (*RGQLClientMessage) String added in v0.8.0

func (x *RGQLClientMessage) String() string

func (*RGQLClientMessage) UnmarshalVT added in v0.8.0

func (m *RGQLClientMessage) UnmarshalVT(dAtA []byte) error

type RGQLPrimitive added in v0.8.0

type RGQLPrimitive struct {
	Kind        RGQLPrimitive_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=rgraphql.RGQLPrimitive_Kind" json:"kind,omitempty"`
	IntValue    int32              `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3" json:"int_value,omitempty"`
	FloatValue  float64            `protobuf:"fixed64,3,opt,name=float_value,json=floatValue,proto3" json:"float_value,omitempty"`
	StringValue string             `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3" json:"string_value,omitempty"`
	BoolValue   bool               `protobuf:"varint,5,opt,name=bool_value,json=boolValue,proto3" json:"bool_value,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLPrimitive) CloneMessageVT added in v0.9.0

func (m *RGQLPrimitive) CloneMessageVT() proto.Message

func (*RGQLPrimitive) CloneVT added in v0.9.0

func (m *RGQLPrimitive) CloneVT() *RGQLPrimitive

func (*RGQLPrimitive) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLPrimitive.ProtoReflect.Descriptor instead.

func (*RGQLPrimitive) EqualMessageVT added in v0.9.0

func (this *RGQLPrimitive) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLPrimitive) EqualVT added in v0.8.0

func (this *RGQLPrimitive) EqualVT(that *RGQLPrimitive) bool

func (*RGQLPrimitive) GetBoolValue added in v0.8.0

func (x *RGQLPrimitive) GetBoolValue() bool

func (*RGQLPrimitive) GetFloatValue added in v0.8.0

func (x *RGQLPrimitive) GetFloatValue() float64

func (*RGQLPrimitive) GetIntValue added in v0.8.0

func (x *RGQLPrimitive) GetIntValue() int32

func (*RGQLPrimitive) GetKind added in v0.8.0

func (x *RGQLPrimitive) GetKind() RGQLPrimitive_Kind

func (*RGQLPrimitive) GetStringValue added in v0.8.0

func (x *RGQLPrimitive) GetStringValue() string

func (*RGQLPrimitive) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLPrimitive) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLPrimitive) MarshalToVT added in v0.8.0

func (m *RGQLPrimitive) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLPrimitive) MarshalVT added in v0.8.0

func (m *RGQLPrimitive) MarshalVT() (dAtA []byte, err error)

func (*RGQLPrimitive) ProtoMessage added in v0.8.0

func (*RGQLPrimitive) ProtoMessage()

func (*RGQLPrimitive) ProtoReflect added in v0.8.0

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

func (*RGQLPrimitive) Reset added in v0.8.0

func (x *RGQLPrimitive) Reset()

func (*RGQLPrimitive) SizeVT added in v0.8.0

func (m *RGQLPrimitive) SizeVT() (n int)

func (*RGQLPrimitive) String added in v0.8.0

func (x *RGQLPrimitive) String() string

func (*RGQLPrimitive) UnmarshalVT added in v0.8.0

func (m *RGQLPrimitive) UnmarshalVT(dAtA []byte) error

type RGQLPrimitive_Kind added in v0.8.0

type RGQLPrimitive_Kind int32
const (
	RGQLPrimitive_PRIMITIVE_KIND_NULL   RGQLPrimitive_Kind = 0
	RGQLPrimitive_PRIMITIVE_KIND_INT    RGQLPrimitive_Kind = 1
	RGQLPrimitive_PRIMITIVE_KIND_FLOAT  RGQLPrimitive_Kind = 2
	RGQLPrimitive_PRIMITIVE_KIND_STRING RGQLPrimitive_Kind = 3
	RGQLPrimitive_PRIMITIVE_KIND_BOOL   RGQLPrimitive_Kind = 4
	RGQLPrimitive_PRIMITIVE_KIND_OBJECT RGQLPrimitive_Kind = 5
	// A marker for an empty array.
	RGQLPrimitive_PRIMITIVE_KIND_ARRAY RGQLPrimitive_Kind = 6
)

func (RGQLPrimitive_Kind) Descriptor added in v0.8.0

func (RGQLPrimitive_Kind) Enum added in v0.8.0

func (RGQLPrimitive_Kind) EnumDescriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLPrimitive_Kind.Descriptor instead.

func (RGQLPrimitive_Kind) Number added in v0.8.0

func (RGQLPrimitive_Kind) String added in v0.8.0

func (x RGQLPrimitive_Kind) String() string

func (RGQLPrimitive_Kind) Type added in v0.8.0

type RGQLQueryError added in v0.8.0

type RGQLQueryError struct {
	QueryId     uint32 `protobuf:"varint,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	QueryNodeId uint32 `protobuf:"varint,2,opt,name=query_node_id,json=queryNodeId,proto3" json:"query_node_id,omitempty"`
	Error       string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

Communicating a failure in the input query.

func (*RGQLQueryError) CloneMessageVT added in v0.9.0

func (m *RGQLQueryError) CloneMessageVT() proto.Message

func (*RGQLQueryError) CloneVT added in v0.9.0

func (m *RGQLQueryError) CloneVT() *RGQLQueryError

func (*RGQLQueryError) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryError.ProtoReflect.Descriptor instead.

func (*RGQLQueryError) EqualMessageVT added in v0.9.0

func (this *RGQLQueryError) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryError) EqualVT added in v0.8.0

func (this *RGQLQueryError) EqualVT(that *RGQLQueryError) bool

func (*RGQLQueryError) GetError added in v0.8.0

func (x *RGQLQueryError) GetError() string

func (*RGQLQueryError) GetQueryId added in v0.8.0

func (x *RGQLQueryError) GetQueryId() uint32

func (*RGQLQueryError) GetQueryNodeId added in v0.8.0

func (x *RGQLQueryError) GetQueryNodeId() uint32

func (*RGQLQueryError) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryError) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryError) MarshalToVT added in v0.8.0

func (m *RGQLQueryError) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryError) MarshalVT added in v0.8.0

func (m *RGQLQueryError) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryError) ProtoMessage added in v0.8.0

func (*RGQLQueryError) ProtoMessage()

func (*RGQLQueryError) ProtoReflect added in v0.8.0

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

func (*RGQLQueryError) Reset added in v0.8.0

func (x *RGQLQueryError) Reset()

func (*RGQLQueryError) SizeVT added in v0.8.0

func (m *RGQLQueryError) SizeVT() (n int)

func (*RGQLQueryError) String added in v0.8.0

func (x *RGQLQueryError) String() string

func (*RGQLQueryError) UnmarshalVT added in v0.8.0

func (m *RGQLQueryError) UnmarshalVT(dAtA []byte) error

type RGQLQueryFieldDirective added in v0.8.0

type RGQLQueryFieldDirective struct {

	// Directive name
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional arguments.
	Args []*FieldArgument `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryFieldDirective) CloneMessageVT added in v0.9.0

func (m *RGQLQueryFieldDirective) CloneMessageVT() proto.Message

func (*RGQLQueryFieldDirective) CloneVT added in v0.9.0

func (*RGQLQueryFieldDirective) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryFieldDirective.ProtoReflect.Descriptor instead.

func (*RGQLQueryFieldDirective) EqualMessageVT added in v0.9.0

func (this *RGQLQueryFieldDirective) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryFieldDirective) EqualVT added in v0.8.0

func (*RGQLQueryFieldDirective) GetArgs added in v0.8.0

func (x *RGQLQueryFieldDirective) GetArgs() []*FieldArgument

func (*RGQLQueryFieldDirective) GetName added in v0.8.0

func (x *RGQLQueryFieldDirective) GetName() string

func (*RGQLQueryFieldDirective) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryFieldDirective) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryFieldDirective) MarshalToVT added in v0.8.0

func (m *RGQLQueryFieldDirective) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryFieldDirective) MarshalVT added in v0.8.0

func (m *RGQLQueryFieldDirective) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryFieldDirective) ProtoMessage added in v0.8.0

func (*RGQLQueryFieldDirective) ProtoMessage()

func (*RGQLQueryFieldDirective) ProtoReflect added in v0.8.0

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

func (*RGQLQueryFieldDirective) Reset added in v0.8.0

func (x *RGQLQueryFieldDirective) Reset()

func (*RGQLQueryFieldDirective) SizeVT added in v0.8.0

func (m *RGQLQueryFieldDirective) SizeVT() (n int)

func (*RGQLQueryFieldDirective) String added in v0.8.0

func (x *RGQLQueryFieldDirective) String() string

func (*RGQLQueryFieldDirective) UnmarshalVT added in v0.8.0

func (m *RGQLQueryFieldDirective) UnmarshalVT(dAtA []byte) error

type RGQLQueryFinish added in v0.8.0

type RGQLQueryFinish struct {

	// The ID of this query.
	QueryId uint32 `protobuf:"varint,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryFinish) CloneMessageVT added in v0.9.0

func (m *RGQLQueryFinish) CloneMessageVT() proto.Message

func (*RGQLQueryFinish) CloneVT added in v0.9.0

func (m *RGQLQueryFinish) CloneVT() *RGQLQueryFinish

func (*RGQLQueryFinish) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryFinish.ProtoReflect.Descriptor instead.

func (*RGQLQueryFinish) EqualMessageVT added in v0.9.0

func (this *RGQLQueryFinish) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryFinish) EqualVT added in v0.8.0

func (this *RGQLQueryFinish) EqualVT(that *RGQLQueryFinish) bool

func (*RGQLQueryFinish) GetQueryId added in v0.8.0

func (x *RGQLQueryFinish) GetQueryId() uint32

func (*RGQLQueryFinish) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryFinish) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryFinish) MarshalToVT added in v0.8.0

func (m *RGQLQueryFinish) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryFinish) MarshalVT added in v0.8.0

func (m *RGQLQueryFinish) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryFinish) ProtoMessage added in v0.8.0

func (*RGQLQueryFinish) ProtoMessage()

func (*RGQLQueryFinish) ProtoReflect added in v0.8.0

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

func (*RGQLQueryFinish) Reset added in v0.8.0

func (x *RGQLQueryFinish) Reset()

func (*RGQLQueryFinish) SizeVT added in v0.8.0

func (m *RGQLQueryFinish) SizeVT() (n int)

func (*RGQLQueryFinish) String added in v0.8.0

func (x *RGQLQueryFinish) String() string

func (*RGQLQueryFinish) UnmarshalVT added in v0.8.0

func (m *RGQLQueryFinish) UnmarshalVT(dAtA []byte) error

type RGQLQueryInit added in v0.8.0

type RGQLQueryInit struct {

	// The ID of this query.
	QueryId uint32 `protobuf:"varint,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// Force serial for this query?
	// Note: serial queries execute as soon as the first mutation arrives, and cannot be updated.
	ForceSerial bool `protobuf:"varint,2,opt,name=force_serial,json=forceSerial,proto3" json:"force_serial,omitempty"`
	// Operation type, i.e. query, mutation, etc.
	OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryInit) CloneMessageVT added in v0.9.0

func (m *RGQLQueryInit) CloneMessageVT() proto.Message

func (*RGQLQueryInit) CloneVT added in v0.9.0

func (m *RGQLQueryInit) CloneVT() *RGQLQueryInit

func (*RGQLQueryInit) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryInit.ProtoReflect.Descriptor instead.

func (*RGQLQueryInit) EqualMessageVT added in v0.9.0

func (this *RGQLQueryInit) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryInit) EqualVT added in v0.8.0

func (this *RGQLQueryInit) EqualVT(that *RGQLQueryInit) bool

func (*RGQLQueryInit) GetForceSerial added in v0.8.0

func (x *RGQLQueryInit) GetForceSerial() bool

func (*RGQLQueryInit) GetOperationType added in v0.8.0

func (x *RGQLQueryInit) GetOperationType() string

func (*RGQLQueryInit) GetQueryId added in v0.8.0

func (x *RGQLQueryInit) GetQueryId() uint32

func (*RGQLQueryInit) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryInit) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryInit) MarshalToVT added in v0.8.0

func (m *RGQLQueryInit) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryInit) MarshalVT added in v0.8.0

func (m *RGQLQueryInit) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryInit) ProtoMessage added in v0.8.0

func (*RGQLQueryInit) ProtoMessage()

func (*RGQLQueryInit) ProtoReflect added in v0.8.0

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

func (*RGQLQueryInit) Reset added in v0.8.0

func (x *RGQLQueryInit) Reset()

func (*RGQLQueryInit) SizeVT added in v0.8.0

func (m *RGQLQueryInit) SizeVT() (n int)

func (*RGQLQueryInit) String added in v0.8.0

func (x *RGQLQueryInit) String() string

func (*RGQLQueryInit) UnmarshalVT added in v0.8.0

func (m *RGQLQueryInit) UnmarshalVT(dAtA []byte) error

type RGQLQueryTreeMutation added in v0.8.0

type RGQLQueryTreeMutation struct {

	// The ID of this query.
	QueryId uint32 `protobuf:"varint,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// All node mutations in this step.
	NodeMutation []*RGQLQueryTreeMutation_NodeMutation `protobuf:"bytes,2,rep,name=node_mutation,json=nodeMutation,proto3" json:"node_mutation,omitempty"`
	// Any new variables.
	Variables []*ASTVariable `protobuf:"bytes,3,rep,name=variables,proto3" json:"variables,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryTreeMutation) CloneMessageVT added in v0.9.0

func (m *RGQLQueryTreeMutation) CloneMessageVT() proto.Message

func (*RGQLQueryTreeMutation) CloneVT added in v0.9.0

func (*RGQLQueryTreeMutation) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryTreeMutation.ProtoReflect.Descriptor instead.

func (*RGQLQueryTreeMutation) EqualMessageVT added in v0.9.0

func (this *RGQLQueryTreeMutation) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryTreeMutation) EqualVT added in v0.8.0

func (this *RGQLQueryTreeMutation) EqualVT(that *RGQLQueryTreeMutation) bool

func (*RGQLQueryTreeMutation) GetNodeMutation added in v0.8.0

func (*RGQLQueryTreeMutation) GetQueryId added in v0.8.0

func (x *RGQLQueryTreeMutation) GetQueryId() uint32

func (*RGQLQueryTreeMutation) GetVariables added in v0.8.0

func (x *RGQLQueryTreeMutation) GetVariables() []*ASTVariable

func (*RGQLQueryTreeMutation) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryTreeMutation) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeMutation) MarshalToVT added in v0.8.0

func (m *RGQLQueryTreeMutation) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeMutation) MarshalVT added in v0.8.0

func (m *RGQLQueryTreeMutation) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryTreeMutation) ProtoMessage added in v0.8.0

func (*RGQLQueryTreeMutation) ProtoMessage()

func (*RGQLQueryTreeMutation) ProtoReflect added in v0.8.0

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

func (*RGQLQueryTreeMutation) Reset added in v0.8.0

func (x *RGQLQueryTreeMutation) Reset()

func (*RGQLQueryTreeMutation) SizeVT added in v0.8.0

func (m *RGQLQueryTreeMutation) SizeVT() (n int)

func (*RGQLQueryTreeMutation) String added in v0.8.0

func (x *RGQLQueryTreeMutation) String() string

func (*RGQLQueryTreeMutation) UnmarshalVT added in v0.8.0

func (m *RGQLQueryTreeMutation) UnmarshalVT(dAtA []byte) error

type RGQLQueryTreeMutation_NodeMutation added in v0.8.0

type RGQLQueryTreeMutation_NodeMutation struct {

	// ID of the node we are operating on.
	NodeId uint32 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// Operation we are taking.
	Operation RGQLQueryTreeMutation_SubtreeOperation `protobuf:"varint,2,opt,name=operation,proto3,enum=rgraphql.RGQLQueryTreeMutation_SubtreeOperation" json:"operation,omitempty"`
	// The new node tree to add, if we are adding a child.
	Node *RGQLQueryTreeNode `protobuf:"bytes,3,opt,name=node,proto3" json:"node,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryTreeMutation_NodeMutation) CloneMessageVT added in v0.9.0

func (m *RGQLQueryTreeMutation_NodeMutation) CloneMessageVT() proto.Message

func (*RGQLQueryTreeMutation_NodeMutation) CloneVT added in v0.9.0

func (*RGQLQueryTreeMutation_NodeMutation) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryTreeMutation_NodeMutation.ProtoReflect.Descriptor instead.

func (*RGQLQueryTreeMutation_NodeMutation) EqualMessageVT added in v0.9.0

func (this *RGQLQueryTreeMutation_NodeMutation) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryTreeMutation_NodeMutation) EqualVT added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) GetNode added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) GetNodeId added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) GetOperation added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryTreeMutation_NodeMutation) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeMutation_NodeMutation) MarshalToVT added in v0.8.0

func (m *RGQLQueryTreeMutation_NodeMutation) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeMutation_NodeMutation) MarshalVT added in v0.8.0

func (m *RGQLQueryTreeMutation_NodeMutation) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryTreeMutation_NodeMutation) ProtoMessage added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) ProtoMessage()

func (*RGQLQueryTreeMutation_NodeMutation) ProtoReflect added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) Reset added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) SizeVT added in v0.8.0

func (m *RGQLQueryTreeMutation_NodeMutation) SizeVT() (n int)

func (*RGQLQueryTreeMutation_NodeMutation) String added in v0.8.0

func (*RGQLQueryTreeMutation_NodeMutation) UnmarshalVT added in v0.8.0

func (m *RGQLQueryTreeMutation_NodeMutation) UnmarshalVT(dAtA []byte) error

type RGQLQueryTreeMutation_SubtreeOperation added in v0.8.0

type RGQLQueryTreeMutation_SubtreeOperation int32
const (
	// Add a child tree to the subtree.
	RGQLQueryTreeMutation_SUBTREE_ADD_CHILD RGQLQueryTreeMutation_SubtreeOperation = 0
	// Delete a tree node and all children.
	RGQLQueryTreeMutation_SUBTREE_DELETE RGQLQueryTreeMutation_SubtreeOperation = 1
)

func (RGQLQueryTreeMutation_SubtreeOperation) Descriptor added in v0.8.0

func (RGQLQueryTreeMutation_SubtreeOperation) Enum added in v0.8.0

func (RGQLQueryTreeMutation_SubtreeOperation) EnumDescriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryTreeMutation_SubtreeOperation.Descriptor instead.

func (RGQLQueryTreeMutation_SubtreeOperation) Number added in v0.8.0

func (RGQLQueryTreeMutation_SubtreeOperation) String added in v0.8.0

func (RGQLQueryTreeMutation_SubtreeOperation) Type added in v0.8.0

type RGQLQueryTreeNode added in v0.8.0

type RGQLQueryTreeNode struct {

	// Integer ID of the node.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name of the field this node represents.
	FieldName string `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
	// Arguments.
	Args []*FieldArgument `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	// Directives
	Directive []*RGQLQueryFieldDirective `protobuf:"bytes,4,rep,name=directive,proto3" json:"directive,omitempty"`
	// Children
	Children []*RGQLQueryTreeNode `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLQueryTreeNode) CloneMessageVT added in v0.9.0

func (m *RGQLQueryTreeNode) CloneMessageVT() proto.Message

func (*RGQLQueryTreeNode) CloneVT added in v0.9.0

func (m *RGQLQueryTreeNode) CloneVT() *RGQLQueryTreeNode

func (*RGQLQueryTreeNode) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLQueryTreeNode.ProtoReflect.Descriptor instead.

func (*RGQLQueryTreeNode) EqualMessageVT added in v0.9.0

func (this *RGQLQueryTreeNode) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLQueryTreeNode) EqualVT added in v0.8.0

func (this *RGQLQueryTreeNode) EqualVT(that *RGQLQueryTreeNode) bool

func (*RGQLQueryTreeNode) GetArgs added in v0.8.0

func (x *RGQLQueryTreeNode) GetArgs() []*FieldArgument

func (*RGQLQueryTreeNode) GetChildren added in v0.8.0

func (x *RGQLQueryTreeNode) GetChildren() []*RGQLQueryTreeNode

func (*RGQLQueryTreeNode) GetDirective added in v0.8.0

func (x *RGQLQueryTreeNode) GetDirective() []*RGQLQueryFieldDirective

func (*RGQLQueryTreeNode) GetFieldName added in v0.8.0

func (x *RGQLQueryTreeNode) GetFieldName() string

func (*RGQLQueryTreeNode) GetId added in v0.8.0

func (x *RGQLQueryTreeNode) GetId() uint32

func (*RGQLQueryTreeNode) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLQueryTreeNode) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeNode) MarshalToVT added in v0.8.0

func (m *RGQLQueryTreeNode) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLQueryTreeNode) MarshalVT added in v0.8.0

func (m *RGQLQueryTreeNode) MarshalVT() (dAtA []byte, err error)

func (*RGQLQueryTreeNode) ProtoMessage added in v0.8.0

func (*RGQLQueryTreeNode) ProtoMessage()

func (*RGQLQueryTreeNode) ProtoReflect added in v0.8.0

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

func (*RGQLQueryTreeNode) Reset added in v0.8.0

func (x *RGQLQueryTreeNode) Reset()

func (*RGQLQueryTreeNode) SizeVT added in v0.8.0

func (m *RGQLQueryTreeNode) SizeVT() (n int)

func (*RGQLQueryTreeNode) String added in v0.8.0

func (x *RGQLQueryTreeNode) String() string

func (*RGQLQueryTreeNode) UnmarshalVT added in v0.8.0

func (m *RGQLQueryTreeNode) UnmarshalVT(dAtA []byte) error

type RGQLServerMessage added in v0.8.0

type RGQLServerMessage struct {
	QueryError    *RGQLQueryError    `protobuf:"bytes,2,opt,name=query_error,json=queryError,proto3" json:"query_error,omitempty"`
	ValueInit     *RGQLValueInit     `protobuf:"bytes,4,opt,name=value_init,json=valueInit,proto3" json:"value_init,omitempty"`
	ValueBatch    *RGQLValueBatch    `protobuf:"bytes,5,opt,name=value_batch,json=valueBatch,proto3" json:"value_batch,omitempty"`
	ValueFinalize *RGQLValueFinalize `protobuf:"bytes,6,opt,name=value_finalize,json=valueFinalize,proto3" json:"value_finalize,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLServerMessage) CloneMessageVT added in v0.9.0

func (m *RGQLServerMessage) CloneMessageVT() proto.Message

func (*RGQLServerMessage) CloneVT added in v0.9.0

func (m *RGQLServerMessage) CloneVT() *RGQLServerMessage

func (*RGQLServerMessage) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLServerMessage.ProtoReflect.Descriptor instead.

func (*RGQLServerMessage) EqualMessageVT added in v0.9.0

func (this *RGQLServerMessage) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLServerMessage) EqualVT added in v0.8.0

func (this *RGQLServerMessage) EqualVT(that *RGQLServerMessage) bool

func (*RGQLServerMessage) GetQueryError added in v0.8.0

func (x *RGQLServerMessage) GetQueryError() *RGQLQueryError

func (*RGQLServerMessage) GetValueBatch added in v0.8.0

func (x *RGQLServerMessage) GetValueBatch() *RGQLValueBatch

func (*RGQLServerMessage) GetValueFinalize added in v0.8.0

func (x *RGQLServerMessage) GetValueFinalize() *RGQLValueFinalize

func (*RGQLServerMessage) GetValueInit added in v0.8.0

func (x *RGQLServerMessage) GetValueInit() *RGQLValueInit

func (*RGQLServerMessage) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLServerMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLServerMessage) MarshalToVT added in v0.8.0

func (m *RGQLServerMessage) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLServerMessage) MarshalVT added in v0.8.0

func (m *RGQLServerMessage) MarshalVT() (dAtA []byte, err error)

func (*RGQLServerMessage) ProtoMessage added in v0.8.0

func (*RGQLServerMessage) ProtoMessage()

func (*RGQLServerMessage) ProtoReflect added in v0.8.0

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

func (*RGQLServerMessage) Reset added in v0.8.0

func (x *RGQLServerMessage) Reset()

func (*RGQLServerMessage) SizeVT added in v0.8.0

func (m *RGQLServerMessage) SizeVT() (n int)

func (*RGQLServerMessage) String added in v0.8.0

func (x *RGQLServerMessage) String() string

func (*RGQLServerMessage) UnmarshalVT added in v0.8.0

func (m *RGQLServerMessage) UnmarshalVT(dAtA []byte) error

type RGQLValue added in v0.8.0

type RGQLValue struct {

	// The ID of the field in the query tree, if a field.
	QueryNodeId uint32 `protobuf:"varint,1,opt,name=query_node_id,json=queryNodeId,proto3" json:"query_node_id,omitempty"`
	// The 1-based index, if an array element.
	ArrayIndex uint32 `protobuf:"varint,2,opt,name=array_index,json=arrayIndex,proto3" json:"array_index,omitempty"`
	// If this is a 0-th index value, this is a pointer to a previous identifier.
	// Otherwise, this is an identifier for adding an alias to this path.
	PosIdentifier uint32 `protobuf:"varint,3,opt,name=pos_identifier,json=posIdentifier,proto3" json:"pos_identifier,omitempty"`
	// The value, if we have one.
	Value *RGQLPrimitive `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	// The error, if we are erroring this field.
	Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLValue) CloneMessageVT added in v0.9.0

func (m *RGQLValue) CloneMessageVT() proto.Message

func (*RGQLValue) CloneVT added in v0.9.0

func (m *RGQLValue) CloneVT() *RGQLValue

func (*RGQLValue) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLValue.ProtoReflect.Descriptor instead.

func (*RGQLValue) EqualMessageVT added in v0.9.0

func (this *RGQLValue) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLValue) EqualVT added in v0.8.0

func (this *RGQLValue) EqualVT(that *RGQLValue) bool

func (*RGQLValue) GetArrayIndex added in v0.8.0

func (x *RGQLValue) GetArrayIndex() uint32

func (*RGQLValue) GetError added in v0.8.0

func (x *RGQLValue) GetError() string

func (*RGQLValue) GetPosIdentifier added in v0.8.0

func (x *RGQLValue) GetPosIdentifier() uint32

func (*RGQLValue) GetQueryNodeId added in v0.8.0

func (x *RGQLValue) GetQueryNodeId() uint32

func (*RGQLValue) GetValue added in v0.8.0

func (x *RGQLValue) GetValue() *RGQLPrimitive

func (*RGQLValue) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLValue) MarshalToVT added in v0.8.0

func (m *RGQLValue) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLValue) MarshalVT added in v0.8.0

func (m *RGQLValue) MarshalVT() (dAtA []byte, err error)

func (*RGQLValue) ProtoMessage added in v0.8.0

func (*RGQLValue) ProtoMessage()

func (*RGQLValue) ProtoReflect added in v0.8.0

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

func (*RGQLValue) Reset added in v0.8.0

func (x *RGQLValue) Reset()

func (*RGQLValue) SizeVT added in v0.8.0

func (m *RGQLValue) SizeVT() (n int)

func (*RGQLValue) String added in v0.8.0

func (x *RGQLValue) String() string

func (*RGQLValue) UnmarshalVT added in v0.8.0

func (m *RGQLValue) UnmarshalVT(dAtA []byte) error

type RGQLValueBatch added in v0.8.0

type RGQLValueBatch struct {

	// The ID of the result tree this batch is for.
	ResultId uint32 `protobuf:"varint,1,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// The batch of RGQLValue values, encoded.
	Values [][]byte `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

func (*RGQLValueBatch) CloneMessageVT added in v0.9.0

func (m *RGQLValueBatch) CloneMessageVT() proto.Message

func (*RGQLValueBatch) CloneVT added in v0.9.0

func (m *RGQLValueBatch) CloneVT() *RGQLValueBatch

func (*RGQLValueBatch) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLValueBatch.ProtoReflect.Descriptor instead.

func (*RGQLValueBatch) EqualMessageVT added in v0.9.0

func (this *RGQLValueBatch) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLValueBatch) EqualVT added in v0.8.0

func (this *RGQLValueBatch) EqualVT(that *RGQLValueBatch) bool

func (*RGQLValueBatch) GetResultId added in v0.8.0

func (x *RGQLValueBatch) GetResultId() uint32

func (*RGQLValueBatch) GetValues added in v0.8.0

func (x *RGQLValueBatch) GetValues() [][]byte

func (*RGQLValueBatch) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLValueBatch) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLValueBatch) MarshalToVT added in v0.8.0

func (m *RGQLValueBatch) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLValueBatch) MarshalVT added in v0.8.0

func (m *RGQLValueBatch) MarshalVT() (dAtA []byte, err error)

func (*RGQLValueBatch) ProtoMessage added in v0.8.0

func (*RGQLValueBatch) ProtoMessage()

func (*RGQLValueBatch) ProtoReflect added in v0.8.0

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

func (*RGQLValueBatch) Reset added in v0.8.0

func (x *RGQLValueBatch) Reset()

func (*RGQLValueBatch) SizeVT added in v0.8.0

func (m *RGQLValueBatch) SizeVT() (n int)

func (*RGQLValueBatch) String added in v0.8.0

func (x *RGQLValueBatch) String() string

func (*RGQLValueBatch) UnmarshalVT added in v0.8.0

func (m *RGQLValueBatch) UnmarshalVT(dAtA []byte) error

type RGQLValueFinalize added in v0.8.0

type RGQLValueFinalize struct {
	ResultId uint32 `protobuf:"varint,1,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// contains filtered or unexported fields
}

RGQLValueFinalize finalizes a result tree.

func (*RGQLValueFinalize) CloneMessageVT added in v0.9.0

func (m *RGQLValueFinalize) CloneMessageVT() proto.Message

func (*RGQLValueFinalize) CloneVT added in v0.9.0

func (m *RGQLValueFinalize) CloneVT() *RGQLValueFinalize

func (*RGQLValueFinalize) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLValueFinalize.ProtoReflect.Descriptor instead.

func (*RGQLValueFinalize) EqualMessageVT added in v0.9.0

func (this *RGQLValueFinalize) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLValueFinalize) EqualVT added in v0.8.0

func (this *RGQLValueFinalize) EqualVT(that *RGQLValueFinalize) bool

func (*RGQLValueFinalize) GetResultId added in v0.8.0

func (x *RGQLValueFinalize) GetResultId() uint32

func (*RGQLValueFinalize) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLValueFinalize) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLValueFinalize) MarshalToVT added in v0.8.0

func (m *RGQLValueFinalize) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLValueFinalize) MarshalVT added in v0.8.0

func (m *RGQLValueFinalize) MarshalVT() (dAtA []byte, err error)

func (*RGQLValueFinalize) ProtoMessage added in v0.8.0

func (*RGQLValueFinalize) ProtoMessage()

func (*RGQLValueFinalize) ProtoReflect added in v0.8.0

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

func (*RGQLValueFinalize) Reset added in v0.8.0

func (x *RGQLValueFinalize) Reset()

func (*RGQLValueFinalize) SizeVT added in v0.8.0

func (m *RGQLValueFinalize) SizeVT() (n int)

func (*RGQLValueFinalize) String added in v0.8.0

func (x *RGQLValueFinalize) String() string

func (*RGQLValueFinalize) UnmarshalVT added in v0.8.0

func (m *RGQLValueFinalize) UnmarshalVT(dAtA []byte) error

type RGQLValueInit added in v0.8.0

type RGQLValueInit struct {

	// result_id is the identifier for the result tree.
	ResultId uint32 `protobuf:"varint,1,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// query_id is the identifier for the corresponding query.
	QueryId uint32 `protobuf:"varint,2,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// cache_strategy is the strategy used for the path cache.
	CacheStrategy RGQLValueInit_CacheStrategy `` /* 143-byte string literal not displayed */
	// cache_size is the size of the path cache, if necessary.
	CacheSize uint32 `protobuf:"varint,4,opt,name=cache_size,json=cacheSize,proto3" json:"cache_size,omitempty"`
	// contains filtered or unexported fields
}

RGQLValueInit initializes a result value tree.

func (*RGQLValueInit) CloneMessageVT added in v0.9.0

func (m *RGQLValueInit) CloneMessageVT() proto.Message

func (*RGQLValueInit) CloneVT added in v0.9.0

func (m *RGQLValueInit) CloneVT() *RGQLValueInit

func (*RGQLValueInit) Descriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLValueInit.ProtoReflect.Descriptor instead.

func (*RGQLValueInit) EqualMessageVT added in v0.9.0

func (this *RGQLValueInit) EqualMessageVT(thatMsg proto.Message) bool

func (*RGQLValueInit) EqualVT added in v0.8.0

func (this *RGQLValueInit) EqualVT(that *RGQLValueInit) bool

func (*RGQLValueInit) GetCacheSize added in v0.8.0

func (x *RGQLValueInit) GetCacheSize() uint32

func (*RGQLValueInit) GetCacheStrategy added in v0.8.0

func (x *RGQLValueInit) GetCacheStrategy() RGQLValueInit_CacheStrategy

func (*RGQLValueInit) GetQueryId added in v0.8.0

func (x *RGQLValueInit) GetQueryId() uint32

func (*RGQLValueInit) GetResultId added in v0.8.0

func (x *RGQLValueInit) GetResultId() uint32

func (*RGQLValueInit) MarshalToSizedBufferVT added in v0.8.0

func (m *RGQLValueInit) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*RGQLValueInit) MarshalToVT added in v0.8.0

func (m *RGQLValueInit) MarshalToVT(dAtA []byte) (int, error)

func (*RGQLValueInit) MarshalVT added in v0.8.0

func (m *RGQLValueInit) MarshalVT() (dAtA []byte, err error)

func (*RGQLValueInit) ProtoMessage added in v0.8.0

func (*RGQLValueInit) ProtoMessage()

func (*RGQLValueInit) ProtoReflect added in v0.8.0

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

func (*RGQLValueInit) Reset added in v0.8.0

func (x *RGQLValueInit) Reset()

func (*RGQLValueInit) SizeVT added in v0.8.0

func (m *RGQLValueInit) SizeVT() (n int)

func (*RGQLValueInit) String added in v0.8.0

func (x *RGQLValueInit) String() string

func (*RGQLValueInit) UnmarshalVT added in v0.8.0

func (m *RGQLValueInit) UnmarshalVT(dAtA []byte) error

type RGQLValueInit_CacheStrategy added in v0.8.0

type RGQLValueInit_CacheStrategy int32
const (
	RGQLValueInit_CACHE_LRU RGQLValueInit_CacheStrategy = 0
)

func (RGQLValueInit_CacheStrategy) Descriptor added in v0.8.0

func (RGQLValueInit_CacheStrategy) Enum added in v0.8.0

func (RGQLValueInit_CacheStrategy) EnumDescriptor deprecated added in v0.8.0

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

Deprecated: Use RGQLValueInit_CacheStrategy.Descriptor instead.

func (RGQLValueInit_CacheStrategy) Number added in v0.8.0

func (RGQLValueInit_CacheStrategy) String added in v0.8.0

func (RGQLValueInit_CacheStrategy) Type added in v0.8.0

Jump to

Keyboard shortcuts

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