Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterRPCServer(s *grpc.Server, srv RPCServer)
- type Block
- func (*Block) Descriptor() ([]byte, []int)deprecated
- func (x *Block) GetCodec() uint32
- func (x *Block) GetContentType() string
- func (x *Block) GetDataARGB() uint32
- func (x *Block) GetDataBuf() []byte
- func (x *Block) GetDataInt() int64
- func (x *Block) GetDataStr() string
- func (x *Block) GetDataVecd() []float64
- func (x *Block) GetDataVecf() []float32
- func (x *Block) GetDataVeci() []int64
- func (x *Block) GetDataVecs() []string
- func (x *Block) GetDataX1() float32
- func (x *Block) GetDataX2() float32
- func (x *Block) GetDataX3() float32
- func (x *Block) GetLabel() string
- func (x *Block) GetSubs() []*Block
- func (x *Block) GetTimeCreated() int64
- func (x *Block) GetTimeModified() int64
- func (*Block) ProtoMessage()
- func (x *Block) ProtoReflect() protoreflect.Message
- func (x *Block) Reset()
- func (x *Block) String() string
- type ChangeUserPermsReq
- func (*ChangeUserPermsReq) Descriptor() ([]byte, []int)deprecated
- func (x *ChangeUserPermsReq) GetAddress() string
- func (x *ChangeUserPermsReq) GetCanWrite() bool
- func (x *ChangeUserPermsReq) GetChURI() string
- func (x *ChangeUserPermsReq) GetWriteKeypathsRegex() string
- func (*ChangeUserPermsReq) ProtoMessage()
- func (x *ChangeUserPermsReq) ProtoReflect() protoreflect.Message
- func (x *ChangeUserPermsReq) Reset()
- func (x *ChangeUserPermsReq) String() string
- type ChannelGenesisReq
- type FetchFlags
- type FilterFlags
- func (FilterFlags) Descriptor() protoreflect.EnumDescriptor
- func (x FilterFlags) Enum() *FilterFlags
- func (FilterFlags) EnumDescriptor() ([]byte, []int)deprecated
- func (x FilterFlags) Number() protoreflect.EnumNumber
- func (x FilterFlags) String() string
- func (FilterFlags) Type() protoreflect.EnumType
- type GRPCServer
- func (s *GRPCServer) AddNodesAsPatches(nodesToPut []*Node, tx *rw.Tx) error
- func (s *GRPCServer) ChangeUserPerms(ctx context.Context, req *ChangeUserPermsReq) (*TxInfo, error)
- func (s *GRPCServer) ChannelGenesis(ctx context.Context, req *ChannelGenesisReq) (*TxInfo, error)
- func (s *GRPCServer) NodeGet(ctx context.Context, req *NodeGetReq) (*Node, error)
- func (s *GRPCServer) NodePut(ctx context.Context, req *NodePutReq) (*TxInfo, error)
- func (s *GRPCServer) NodeScan(req *NodeScanReq, server RPC_NodeScanServer) error
- func (s *GRPCServer) SendTx(ctx context.Context, tx *rw.Tx) (*TxInfo, error)
- func (s *GRPCServer) Start() error
- func (s *GRPCServer) StreamServerInterceptor() grpc.StreamServerInterceptor
- func (s *GRPCServer) UnaryServerInterceptor() grpc.UnaryServerInterceptor
- type Node
- func (*Node) Descriptor() ([]byte, []int)deprecated
- func (x *Node) GetBlock() *Block
- func (x *Node) GetBlockRaw() []byte
- func (x *Node) GetChURI() string
- func (x *Node) GetGlyph() string
- func (x *Node) GetID() string
- func (x *Node) GetLastModified() int64
- func (x *Node) GetLayer() *NodeLayer
- func (x *Node) GetLinks() []string
- func (x *Node) GetLinksResolved() []*Node
- func (x *Node) GetName() string
- func (x *Node) GetParentID() string
- func (x *Node) GetT() float64
- func (x *Node) GetTSpan() float64
- func (x *Node) GetTags() string
- func (x *Node) GetTransform() []float32
- func (x *Node) GetTypeID() string
- func (x *Node) GetValue() string
- func (x *Node) GetX1() float64
- func (x *Node) GetX2() float64
- func (x *Node) GetX3() float64
- func (*Node) ProtoMessage()
- func (x *Node) ProtoReflect() protoreflect.Message
- func (x *Node) Reset()
- func (x *Node) String() string
- type NodeGetReq
- func (*NodeGetReq) Descriptor() ([]byte, []int)deprecated
- func (x *NodeGetReq) GetChURI() string
- func (x *NodeGetReq) GetLinksFetchFlags() FetchFlags
- func (x *NodeGetReq) GetNodeFetchFlags() FetchFlags
- func (x *NodeGetReq) GetNodeID() string
- func (x *NodeGetReq) GetParentID() string
- func (*NodeGetReq) ProtoMessage()
- func (x *NodeGetReq) ProtoReflect() protoreflect.Message
- func (x *NodeGetReq) Reset()
- func (x *NodeGetReq) String() string
- type NodeLayer
- func (*NodeLayer) Descriptor() ([]byte, []int)deprecated
- func (x *NodeLayer) GetSpaceType() string
- func (x *NodeLayer) GetT0AsUTC() float64
- func (x *NodeLayer) GetX1UnitType() string
- func (x *NodeLayer) GetX2UnitType() string
- func (x *NodeLayer) GetX3UnitType() string
- func (*NodeLayer) ProtoMessage()
- func (x *NodeLayer) ProtoReflect() protoreflect.Message
- func (x *NodeLayer) Reset()
- func (x *NodeLayer) String() string
- type NodePutReq
- type NodeScanReq
- func (*NodeScanReq) Descriptor() ([]byte, []int)deprecated
- func (x *NodeScanReq) GetChURI() string
- func (x *NodeScanReq) GetFilterFlags() FilterFlags
- func (x *NodeScanReq) GetLinksFetchFlags() FetchFlags
- func (x *NodeScanReq) GetNodeFetchFlags() FetchFlags
- func (x *NodeScanReq) GetRegexName() string
- func (x *NodeScanReq) GetRegexNodeID() string
- func (x *NodeScanReq) GetRegexParentID() string
- func (x *NodeScanReq) GetRegexTags() string
- func (x *NodeScanReq) GetRegexTypeID() string
- func (x *NodeScanReq) GetSubscribe() bool
- func (x *NodeScanReq) GetTMax() float64
- func (x *NodeScanReq) GetTMin() float64
- func (*NodeScanReq) ProtoMessage()
- func (x *NodeScanReq) ProtoReflect() protoreflect.Message
- func (x *NodeScanReq) Reset()
- func (x *NodeScanReq) String() string
- type RPCClient
- type RPCServer
- type RPC_NodeScanClient
- type RPC_NodeScanServer
- type TxInfo
- type UnimplementedRPCServer
- func (*UnimplementedRPCServer) ChangeUserPerms(context.Context, *ChangeUserPermsReq) (*TxInfo, error)
- func (*UnimplementedRPCServer) ChannelGenesis(context.Context, *ChannelGenesisReq) (*TxInfo, error)
- func (*UnimplementedRPCServer) NodeGet(context.Context, *NodeGetReq) (*Node, error)
- func (*UnimplementedRPCServer) NodePut(context.Context, *NodePutReq) (*TxInfo, error)
- func (*UnimplementedRPCServer) NodeScan(*NodeScanReq, RPC_NodeScanServer) error
Constants ¶
const ( NodeURIsKey = "links" BlockRawKey = "blockRaw" NodeTagsKey = "tags" NodeModifiedKey = "modified" NodeTypeIDKey = "type" NodeGlyphKey = "glyph" NodeNameKey = "name" NodeValueKey = "val" NodeTransform = "trans" NodeX1Key = "x1" NodeX2Key = "x2" NodeX3Key = "x3" NodeTKey = "t" NodeTSpanKey = "tSpan" )
Key values used to map plan.Node fields to redwood node fields
const ( SpaceTypeKey = "spaceType" SpaceT0AsUTCKey = "t0utc" SpaceX1UnitType = "x1UnitType" SpaceX2UnitType = "x2UnitType" SpaceX3UnitType = "x3UnitType" )
Key values used to map plan.Node layer-related fields to redwood node fields
Variables ¶
var ( FetchFlags_name = map[int32]string{ 0: "NONE", 1: "FIELDS", 2: "LINKS", 4: "LINKS_RESOLVED", 8: "BLOCK", 16: "BLOCK_DECODED", } FetchFlags_value = map[string]int32{ "NONE": 0, "FIELDS": 1, "LINKS": 2, "LINKS_RESOLVED": 4, "BLOCK": 8, "BLOCK_DECODED": 16, } )
Enum value maps for FetchFlags.
var ( FilterFlags_name = map[int32]string{ 0: "NO_SEARCH", 1: "LAYERS_ONLY", 2: "EXCLUDE_LAYERS", } FilterFlags_value = map[string]int32{ "NO_SEARCH": 0, "LAYERS_ONLY": 1, "EXCLUDE_LAYERS": 2, } )
Enum value maps for FilterFlags.
var File_plan_proto protoreflect.FileDescriptor
Functions ¶
func RegisterRPCServer ¶
Types ¶
type Block ¶
type Block struct { // Label is the name / field-name of this Block. // Any UTF8 string is available and only 0x00 (NUL) is disallowed (such as in Go). Label string `protobuf:"bytes,1,opt,name=Label,proto3" json:"Label,omitempty"` // ContentType self-describes the nature of a Block's data and what form it takes. // Anyone handed this Block instance can accurately interpret / process / deserialize its content. // In effect, this field is a MIME type or more generally any multicodec pathname (e.g. "text/html", "image/png", "audio/mp3") ContentType string `protobuf:"bytes,2,opt,name=ContentType,proto3" json:"ContentType,omitempty"` // Codec supplements the role of ContentType or can be used for efficiency and ease. // For example, 100,000 Blocks could all repeat a ContentType string over and over, ar an inline int can be used instead. // For example, see: https://github.com/multiformats/multicodec Codec uint32 `protobuf:"varint,3,opt,name=Codec,proto3" json:"Codec,omitempty"` // Timestamps associated with this Block's content (in seconds UTC). TimeCreated int64 `protobuf:"varint,4,opt,name=TimeCreated,proto3" json:"TimeCreated,omitempty"` TimeModified int64 `protobuf:"varint,5,opt,name=TimeModified,proto3" json:"TimeModified,omitempty"` // Subs are optionally nested sub items that can be interpreted or employed in any way a client or protocol sees fit. Subs []*Block `protobuf:"bytes,10,rep,name=Subs,proto3" json:"Subs,omitempty"` // Content/payload data -- structured in accordance with Block.ContentType and/or Block.Codec. // The variety of data-types here allow an architect to package raw data free of overhead penalties, courtesy of protobufs. DataVeci []int64 `protobuf:"varint,20,rep,packed,name=DataVeci,proto3" json:"DataVeci,omitempty"` DataVecf []float32 `protobuf:"fixed32,21,rep,packed,name=DataVecf,proto3" json:"DataVecf,omitempty"` DataVecd []float64 `protobuf:"fixed64,22,rep,packed,name=DataVecd,proto3" json:"DataVecd,omitempty"` DataVecs []string `protobuf:"bytes,23,rep,name=DataVecs,proto3" json:"DataVecs,omitempty"` DataARGB uint32 `protobuf:"fixed32,30,opt,name=DataARGB,proto3" json:"DataARGB,omitempty"` DataBuf []byte `protobuf:"bytes,31,opt,name=DataBuf,proto3" json:"DataBuf,omitempty"` DataStr string `protobuf:"bytes,32,opt,name=DataStr,proto3" json:"DataStr,omitempty"` DataInt int64 `protobuf:"varint,33,opt,name=DataInt,proto3" json:"DataInt,omitempty"` DataX1 float32 `protobuf:"fixed32,41,opt,name=DataX1,proto3" json:"DataX1,omitempty"` DataX2 float32 `protobuf:"fixed32,42,opt,name=DataX2,proto3" json:"DataX2,omitempty"` DataX3 float32 `protobuf:"fixed32,43,opt,name=DataX3,proto3" json:"DataX3,omitempty"` // contains filtered or unexported fields }
Block is a self-describing, flexible, and nestable information / content container. All fields are optional and are understood to conform to the context / protocol / codec that a Block appears in.
func (*Block) Descriptor
deprecated
func (*Block) GetContentType ¶
func (*Block) GetDataARGB ¶
func (*Block) GetDataBuf ¶
func (*Block) GetDataInt ¶
func (*Block) GetDataStr ¶
func (*Block) GetDataVecd ¶
func (*Block) GetDataVecf ¶
func (*Block) GetDataVeci ¶
func (*Block) GetDataVecs ¶
func (*Block) GetTimeCreated ¶
func (*Block) GetTimeModified ¶
func (*Block) ProtoMessage ¶
func (*Block) ProtoMessage()
func (*Block) ProtoReflect ¶
func (x *Block) ProtoReflect() protoreflect.Message
type ChangeUserPermsReq ¶
type ChangeUserPermsReq struct { ChURI string `protobuf:"bytes,1,opt,name=ChURI,proto3" json:"ChURI,omitempty"` Address string `protobuf:"bytes,2,opt,name=Address,proto3" json:"Address,omitempty"` WriteKeypathsRegex string `protobuf:"bytes,3,opt,name=WriteKeypathsRegex,proto3" json:"WriteKeypathsRegex,omitempty"` CanWrite bool `protobuf:"varint,4,opt,name=CanWrite,proto3" json:"CanWrite,omitempty"` // contains filtered or unexported fields }
func (*ChangeUserPermsReq) Descriptor
deprecated
func (*ChangeUserPermsReq) Descriptor() ([]byte, []int)
Deprecated: Use ChangeUserPermsReq.ProtoReflect.Descriptor instead.
func (*ChangeUserPermsReq) GetAddress ¶
func (x *ChangeUserPermsReq) GetAddress() string
func (*ChangeUserPermsReq) GetCanWrite ¶
func (x *ChangeUserPermsReq) GetCanWrite() bool
func (*ChangeUserPermsReq) GetChURI ¶
func (x *ChangeUserPermsReq) GetChURI() string
func (*ChangeUserPermsReq) GetWriteKeypathsRegex ¶
func (x *ChangeUserPermsReq) GetWriteKeypathsRegex() string
func (*ChangeUserPermsReq) ProtoMessage ¶
func (*ChangeUserPermsReq) ProtoMessage()
func (*ChangeUserPermsReq) ProtoReflect ¶
func (x *ChangeUserPermsReq) ProtoReflect() protoreflect.Message
func (*ChangeUserPermsReq) Reset ¶
func (x *ChangeUserPermsReq) Reset()
func (*ChangeUserPermsReq) String ¶
func (x *ChangeUserPermsReq) String() string
type ChannelGenesisReq ¶
type ChannelGenesisReq struct { ChRoot *Node `protobuf:"bytes,1,opt,name=ChRoot,proto3" json:"ChRoot,omitempty"` // contains filtered or unexported fields }
func (*ChannelGenesisReq) Descriptor
deprecated
func (*ChannelGenesisReq) Descriptor() ([]byte, []int)
Deprecated: Use ChannelGenesisReq.ProtoReflect.Descriptor instead.
func (*ChannelGenesisReq) GetChRoot ¶
func (x *ChannelGenesisReq) GetChRoot() *Node
func (*ChannelGenesisReq) ProtoMessage ¶
func (*ChannelGenesisReq) ProtoMessage()
func (*ChannelGenesisReq) ProtoReflect ¶
func (x *ChannelGenesisReq) ProtoReflect() protoreflect.Message
func (*ChannelGenesisReq) Reset ¶
func (x *ChannelGenesisReq) Reset()
func (*ChannelGenesisReq) String ¶
func (x *ChannelGenesisReq) String() string
type FetchFlags ¶
type FetchFlags int32
FetchFlags specifies what parts of a Node are loaded and returned during a NodeScan. Note these are bit-ORed together (and is not a normal enum)
const ( FetchFlags_NONE FetchFlags = 0 FetchFlags_FIELDS FetchFlags = 1 FetchFlags_LINKS FetchFlags = 2 FetchFlags_LINKS_RESOLVED FetchFlags = 4 FetchFlags_BLOCK FetchFlags = 8 FetchFlags_BLOCK_DECODED FetchFlags = 16 )
func (FetchFlags) Descriptor ¶
func (FetchFlags) Descriptor() protoreflect.EnumDescriptor
func (FetchFlags) Enum ¶
func (x FetchFlags) Enum() *FetchFlags
func (FetchFlags) EnumDescriptor
deprecated
func (FetchFlags) EnumDescriptor() ([]byte, []int)
Deprecated: Use FetchFlags.Descriptor instead.
func (FetchFlags) Number ¶
func (x FetchFlags) Number() protoreflect.EnumNumber
func (FetchFlags) String ¶
func (x FetchFlags) String() string
func (FetchFlags) Type ¶
func (FetchFlags) Type() protoreflect.EnumType
type FilterFlags ¶
type FilterFlags int32
FilterFlags specifies various options for NodeScan.
const ( FilterFlags_NO_SEARCH FilterFlags = 0 FilterFlags_LAYERS_ONLY FilterFlags = 1 FilterFlags_EXCLUDE_LAYERS FilterFlags = 2 )
func (FilterFlags) Descriptor ¶
func (FilterFlags) Descriptor() protoreflect.EnumDescriptor
func (FilterFlags) Enum ¶
func (x FilterFlags) Enum() *FilterFlags
func (FilterFlags) EnumDescriptor
deprecated
func (FilterFlags) EnumDescriptor() ([]byte, []int)
Deprecated: Use FilterFlags.Descriptor instead.
func (FilterFlags) Number ¶
func (x FilterFlags) Number() protoreflect.EnumNumber
func (FilterFlags) String ¶
func (x FilterFlags) String() string
func (FilterFlags) Type ¶
func (FilterFlags) Type() protoreflect.EnumType
type GRPCServer ¶
GRPCServer is the GRPC implementation of plan.proto
func NewGRPCServer ¶
func NewGRPCServer(host rw.Host, listenNetwork string, listenAddr string) *GRPCServer
NewGRPCServer creates a new GRPCServer
func (*GRPCServer) AddNodesAsPatches ¶
func (s *GRPCServer) AddNodesAsPatches(nodesToPut []*Node, tx *rw.Tx) error
AddNodesAsPatches steps through the given sets of nodes and encodes it as a rw Patch, and appends that patch to tx.Patches.
If tx.ChURI is not yet set, it will be set by the first Node that has ChURI set.
If tx.ChURI is set, any subsequent Node with a different ChURI will cause an error.
func (*GRPCServer) ChangeUserPerms ¶
func (s *GRPCServer) ChangeUserPerms(ctx context.Context, req *ChangeUserPermsReq) (*TxInfo, error)
func (*GRPCServer) ChannelGenesis ¶
func (s *GRPCServer) ChannelGenesis(ctx context.Context, req *ChannelGenesisReq) (*TxInfo, error)
func (*GRPCServer) NodeGet ¶
func (s *GRPCServer) NodeGet(ctx context.Context, req *NodeGetReq) (*Node, error)
func (*GRPCServer) NodePut ¶
func (s *GRPCServer) NodePut(ctx context.Context, req *NodePutReq) (*TxInfo, error)
func (*GRPCServer) NodeScan ¶
func (s *GRPCServer) NodeScan(req *NodeScanReq, server RPC_NodeScanServer) error
func (*GRPCServer) Start ¶
func (s *GRPCServer) Start() error
func (*GRPCServer) StreamServerInterceptor ¶
func (s *GRPCServer) StreamServerInterceptor() grpc.StreamServerInterceptor
func (*GRPCServer) UnaryServerInterceptor ¶
func (s *GRPCServer) UnaryServerInterceptor() grpc.UnaryServerInterceptor
type Node ¶
type Node struct { // ID is required and uniquely identifies a node. // An ID can be any UTF8 string longer than 1 character, BUT CANNOT contain a forward slash ('/') or contain any whitespace characters. ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` // Layer, if non-nil, means this node can contain other nodes -- it is also dubbed a "node space" // For nodes that have this Layer as the parent, their coordinates are relative to the coordinate space of this Node. // Nested NodeLayers allow Node placements to occur with pluggable transformations. Layer *NodeLayer `protobuf:"bytes,2,opt,name=Layer,proto3" json:"Layer,omitempty"` // Tags is a collection of UTF8 identifying strings delimited by a comma (','). // This offers a flexible and lightweight system to filter hits during NodeScan() Tags string `protobuf:"bytes,4,opt,name=Tags,proto3" json:"Tags,omitempty"` // LastModified is a timestamp of when this node was last altered (in UTC seconds). // By default, this field is auto-updated during NodePut(). LastModified int64 `protobuf:"varint,7,opt,name=LastModified,proto3" json:"LastModified,omitempty"` // Optional values that can express commonly needed fields or allow this Node to be self-describing. TypeID string `protobuf:"bytes,10,opt,name=TypeID,proto3" json:"TypeID,omitempty"` Glyph string `protobuf:"bytes,11,opt,name=Glyph,proto3" json:"Glyph,omitempty"` Name string `protobuf:"bytes,12,opt,name=Name,proto3" json:"Name,omitempty"` Value string `protobuf:"bytes,13,opt,name=Value,proto3" json:"Value,omitempty"` // X1,.. are coordinates expressed in the parent's coordinate space. // Shoutout to the 3 domains that reflect all theoretical completeness: alpha (finite), omega (unending), and the inaccessible cardinal(s). // Special thanks to Michael at Vsauce: https://www.youtube.com/watch?v=SrU9YDoXE88 X1 float64 `protobuf:"fixed64,21,opt,name=X1,proto3" json:"X1,omitempty"` X2 float64 `protobuf:"fixed64,22,opt,name=X2,proto3" json:"X2,omitempty"` X3 float64 `protobuf:"fixed64,23,opt,name=X3,proto3" json:"X3,omitempty"` // Transform means this Node and its sub nodes should be scaled by [0] (or [0,1,2]) and rotated according to thw quaternion stored in [1,2,3,4] (or [3,4,5,6]) // If omitted, implied scale is 1 and there no rotation is applied. Transform []float32 `protobuf:"fixed32,25,rep,packed,name=Transform,proto3" json:"Transform,omitempty"` // T is a time offset expressed in seconds. // A Node's parent layer defines how T=0 maps onto UTC, offering greater of precision (where precision would otherwise be "burned up" by expressing large time value). T float64 `protobuf:"fixed64,28,opt,name=T,proto3" json:"T,omitempty"` // TSpan is a time duration or period expressed in seconds. TSpan float64 `protobuf:"fixed64,29,opt,name=TSpan,proto3" json:"TSpan,omitempty"` // Links are URIs to other linked nodes. // [<ChURI>[<ParentLayerID>/]]<NodeID> Links []string `protobuf:"bytes,40,rep,name=Links,proto3" json:"Links,omitempty"` // Nodes are corresponding elements of .Links (above) resolved/expanded. // This is only used for a server to return this.Links in their resolved form. // See use of LinksFetchFlags in NodeScanReq. LinksResolved []*Node `protobuf:"bytes,41,rep,name=LinksResolved,proto3" json:"LinksResolved,omitempty"` // Block is any client data payload (and is generally not accessed by redwood). // When non-nil, it is assumed to be the output of this.BlockRaw.Unmarshal() Block *Block `protobuf:"bytes,50,opt,name=Block,proto3" json:"Block,omitempty"` // BlockRaw is the protobufs serialization of this.Block. // When non-nil, it is assumed to be the output of this.Block.Marshal() BlockRaw []byte `protobuf:"bytes,51,opt,name=BlockRaw,proto3" json:"BlockRaw,omitempty"` // ParentID is the ID of the Node layer that this Node entry appears in (and whose fields are transformed through that layer). // If this field is empty or nil, the identity/default layer ID and is assumed (and is denoted as '!') // This field is NOT stored directly (as it is exists implicitly): // - when set by a server (by request via FetchFlags), it is recovered from internal server db info. // - when set by a client, the client is specifying which parent this node resides in. ParentID string `protobuf:"bytes,60,opt,name=ParentID,proto3" json:"ParentID,omitempty"` // ChURI is the channel state URI for this node. // This is only used during RPC.ChannelGenesis() and RPC.PutNode() to express a destination ChURI. ChURI string `protobuf:"bytes,61,opt,name=ChURI,proto3" json:"ChURI,omitempty"` // contains filtered or unexported fields }
Node is a generic information schema that reflects a collection of abstract containers ("nodes") in relation to each other and nodes in other NodeSpace channels. Each node has a set of associated fields and attributes, including spatial coordinates and references (links) to other nodes.
func (*Node) Descriptor
deprecated
func (*Node) GetBlockRaw ¶
func (*Node) GetLastModified ¶
func (*Node) GetLinksResolved ¶
func (*Node) GetParentID ¶
func (*Node) GetTransform ¶
func (*Node) ProtoMessage ¶
func (*Node) ProtoMessage()
func (*Node) ProtoReflect ¶
func (x *Node) ProtoReflect() protoreflect.Message
type NodeGetReq ¶
type NodeGetReq struct { ChURI string `protobuf:"bytes,1,opt,name=ChURI,proto3" json:"ChURI,omitempty"` ParentID string `protobuf:"bytes,2,opt,name=ParentID,proto3" json:"ParentID,omitempty"` NodeID string `protobuf:"bytes,3,opt,name=NodeID,proto3" json:"NodeID,omitempty"` // NodeFetchFlags specifies which fields are loaded and returned for each Node scan match/hit returned by NodeScan(). NodeFetchFlags FetchFlags `protobuf:"varint,40,opt,name=NodeFetchFlags,proto3,enum=plan.FetchFlags" json:"NodeFetchFlags,omitempty"` // LinksFetchFlags specifies which fields are loaded and returned for linked nodes of each Node hit returned by a NodeScan(). LinksFetchFlags FetchFlags `protobuf:"varint,41,opt,name=LinksFetchFlags,proto3,enum=plan.FetchFlags" json:"LinksFetchFlags,omitempty"` // contains filtered or unexported fields }
NodeGetReq contains the parameters for a single Node to be fetched.
func (*NodeGetReq) Descriptor
deprecated
func (*NodeGetReq) Descriptor() ([]byte, []int)
Deprecated: Use NodeGetReq.ProtoReflect.Descriptor instead.
func (*NodeGetReq) GetChURI ¶
func (x *NodeGetReq) GetChURI() string
func (*NodeGetReq) GetLinksFetchFlags ¶
func (x *NodeGetReq) GetLinksFetchFlags() FetchFlags
func (*NodeGetReq) GetNodeFetchFlags ¶
func (x *NodeGetReq) GetNodeFetchFlags() FetchFlags
func (*NodeGetReq) GetNodeID ¶
func (x *NodeGetReq) GetNodeID() string
func (*NodeGetReq) GetParentID ¶
func (x *NodeGetReq) GetParentID() string
func (*NodeGetReq) ProtoMessage ¶
func (*NodeGetReq) ProtoMessage()
func (*NodeGetReq) ProtoReflect ¶
func (x *NodeGetReq) ProtoReflect() protoreflect.Message
func (*NodeGetReq) Reset ¶
func (x *NodeGetReq) Reset()
func (*NodeGetReq) String ¶
func (x *NodeGetReq) String() string
type NodeLayer ¶
type NodeLayer struct { // T0AsUTC expresses the UTC time index (in seconds) of a Node at T = 0. // This means a NodeLayer can be anchored to any point on the UTC timeline with double precision accuracy. // This allows a time series of nodes to reside at any conceivable time scale: the planck scale or the timescale of the universe, 14 billion years. T0AsUTC float64 `protobuf:"fixed64,5,opt,name=T0AsUTC,proto3" json:"T0AsUTC,omitempty"` // SpaceType specifies the implicit geometry baked into coordinates of nodes in this layer. // It designates a particular of 1D, 2D, 3D topography or coordinate system. // e.g. "cartesian/xyz", "cylindrical/angle-r-z", "spherical/r-theta-phi", "geospace-earth/lat-long-alt" SpaceType string `protobuf:"bytes,10,opt,name=SpaceType,proto3" json:"SpaceType,omitempty"` // X1UnitType is a unit MIME type descriptor // e.g. "angle/degrees", "distance/meters", "mass/kilograms", "temperature/celsius", "charge/amp-hours", "energy/kw-hours", "wisdom/years" X1UnitType string `protobuf:"bytes,31,opt,name=X1UnitType,proto3" json:"X1UnitType,omitempty"` X2UnitType string `protobuf:"bytes,32,opt,name=X2UnitType,proto3" json:"X2UnitType,omitempty"` X3UnitType string `protobuf:"bytes,33,opt,name=X3UnitType,proto3" json:"X3UnitType,omitempty"` // contains filtered or unexported fields }
NodeLayer is a container for Nodes and can be regarded as a "column" object (where Nodes in this layer can be considered rows). A node with this NodeLayer's Node.ID as its parent means its coordinates are defined according to the parent layer.
func (*NodeLayer) Descriptor
deprecated
func (*NodeLayer) GetSpaceType ¶
func (*NodeLayer) GetT0AsUTC ¶
func (*NodeLayer) GetX1UnitType ¶
func (*NodeLayer) GetX2UnitType ¶
func (*NodeLayer) GetX3UnitType ¶
func (*NodeLayer) ProtoMessage ¶
func (*NodeLayer) ProtoMessage()
func (*NodeLayer) ProtoReflect ¶
func (x *NodeLayer) ProtoReflect() protoreflect.Message
type NodePutReq ¶
type NodePutReq struct { // Nodes is a list of Nodes to be put (in order). // NodePut() will first merge these Nodes in the order they appear (or will no-op if this list is nil or empty). // All values of Node.ChURI must be equal or an error is returned (excluding empty/omitted URIs which denotes deferring to another Node.ChURI) Nodes []*Node `protobuf:"bytes,5,rep,name=Nodes,proto3" json:"Nodes,omitempty"` // Node is a node to be put. // NodePut() will merge this Node (or will no-op if this Node is nil). // This field is offered as convenience and is equivalent to putting this node at the end of .Nodes[] Node *Node `protobuf:"bytes,6,opt,name=Node,proto3" json:"Node,omitempty"` // contains filtered or unexported fields }
func (*NodePutReq) Descriptor
deprecated
func (*NodePutReq) Descriptor() ([]byte, []int)
Deprecated: Use NodePutReq.ProtoReflect.Descriptor instead.
func (*NodePutReq) GetNode ¶
func (x *NodePutReq) GetNode() *Node
func (*NodePutReq) GetNodes ¶
func (x *NodePutReq) GetNodes() []*Node
func (*NodePutReq) ProtoMessage ¶
func (*NodePutReq) ProtoMessage()
func (*NodePutReq) ProtoReflect ¶
func (x *NodePutReq) ProtoReflect() protoreflect.Message
func (*NodePutReq) Reset ¶
func (x *NodePutReq) Reset()
func (*NodePutReq) String ¶
func (x *NodePutReq) String() string
type NodeScanReq ¶
type NodeScanReq struct { ChURI string `protobuf:"bytes,1,opt,name=ChURI,proto3" json:"ChURI,omitempty"` // Note that "!" is used to denote ChURI's default (root) node ID. // FUTURE: should this instead just be any valid parent node ID pathname? RegexParentID string `protobuf:"bytes,3,opt,name=RegexParentID,proto3" json:"RegexParentID,omitempty"` // Filters to apply to each node candidate RegexNodeID string `protobuf:"bytes,10,opt,name=RegexNodeID,proto3" json:"RegexNodeID,omitempty"` RegexName string `protobuf:"bytes,11,opt,name=RegexName,proto3" json:"RegexName,omitempty"` RegexTags string `protobuf:"bytes,12,opt,name=RegexTags,proto3" json:"RegexTags,omitempty"` RegexTypeID string `protobuf:"bytes,13,opt,name=RegexTypeID,proto3" json:"RegexTypeID,omitempty"` // FilterFlags further selects which Nodes are eligible to be scan hits. FilterFlags FilterFlags `protobuf:"varint,14,opt,name=FilterFlags,proto3,enum=plan.FilterFlags" json:"FilterFlags,omitempty"` // Subscribe specifies if this scan should remain open and await additional hits that may appear as state is updated. Subscribe bool `protobuf:"varint,20,opt,name=Subscribe,proto3" json:"Subscribe,omitempty"` // Min/max time search params (no search if TMax > TMin) TMin float64 `protobuf:"fixed64,30,opt,name=TMin,proto3" json:"TMin,omitempty"` TMax float64 `protobuf:"fixed64,31,opt,name=TMax,proto3" json:"TMax,omitempty"` // See NodeGetReq NodeFetchFlags FetchFlags `protobuf:"varint,40,opt,name=NodeFetchFlags,proto3,enum=plan.FetchFlags" json:"NodeFetchFlags,omitempty"` LinksFetchFlags FetchFlags `protobuf:"varint,41,opt,name=LinksFetchFlags,proto3,enum=plan.FetchFlags" json:"LinksFetchFlags,omitempty"` // contains filtered or unexported fields }
func (*NodeScanReq) Descriptor
deprecated
func (*NodeScanReq) Descriptor() ([]byte, []int)
Deprecated: Use NodeScanReq.ProtoReflect.Descriptor instead.
func (*NodeScanReq) GetChURI ¶
func (x *NodeScanReq) GetChURI() string
func (*NodeScanReq) GetFilterFlags ¶
func (x *NodeScanReq) GetFilterFlags() FilterFlags
func (*NodeScanReq) GetLinksFetchFlags ¶
func (x *NodeScanReq) GetLinksFetchFlags() FetchFlags
func (*NodeScanReq) GetNodeFetchFlags ¶
func (x *NodeScanReq) GetNodeFetchFlags() FetchFlags
func (*NodeScanReq) GetRegexName ¶
func (x *NodeScanReq) GetRegexName() string
func (*NodeScanReq) GetRegexNodeID ¶
func (x *NodeScanReq) GetRegexNodeID() string
func (*NodeScanReq) GetRegexParentID ¶
func (x *NodeScanReq) GetRegexParentID() string
func (*NodeScanReq) GetRegexTags ¶
func (x *NodeScanReq) GetRegexTags() string
func (*NodeScanReq) GetRegexTypeID ¶
func (x *NodeScanReq) GetRegexTypeID() string
func (*NodeScanReq) GetSubscribe ¶
func (x *NodeScanReq) GetSubscribe() bool
func (*NodeScanReq) GetTMax ¶
func (x *NodeScanReq) GetTMax() float64
func (*NodeScanReq) GetTMin ¶
func (x *NodeScanReq) GetTMin() float64
func (*NodeScanReq) ProtoMessage ¶
func (*NodeScanReq) ProtoMessage()
func (*NodeScanReq) ProtoReflect ¶
func (x *NodeScanReq) ProtoReflect() protoreflect.Message
func (*NodeScanReq) Reset ¶
func (x *NodeScanReq) Reset()
func (*NodeScanReq) String ¶
func (x *NodeScanReq) String() string
type RPCClient ¶
type RPCClient interface { ChannelGenesis(ctx context.Context, in *ChannelGenesisReq, opts ...grpc.CallOption) (*TxInfo, error) ChangeUserPerms(ctx context.Context, in *ChangeUserPermsReq, opts ...grpc.CallOption) (*TxInfo, error) // NodeGet returns the node with the given ChURI, parent node ID, and node ID. // Assuming the given ChURI is valid for reading, an empty Node (Node.ID == nil) is returned if the parent or node ID does not exist. NodeGet(ctx context.Context, in *NodeGetReq, opts ...grpc.CallOption) (*Node, error) NodeScan(ctx context.Context, in *NodeScanReq, opts ...grpc.CallOption) (RPC_NodeScanClient, error) NodePut(ctx context.Context, in *NodePutReq, opts ...grpc.CallOption) (*TxInfo, error) }
RPCClient is the client API for RPC service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewRPCClient ¶
func NewRPCClient(cc grpc.ClientConnInterface) RPCClient
type RPCServer ¶
type RPCServer interface { ChannelGenesis(context.Context, *ChannelGenesisReq) (*TxInfo, error) ChangeUserPerms(context.Context, *ChangeUserPermsReq) (*TxInfo, error) // NodeGet returns the node with the given ChURI, parent node ID, and node ID. // Assuming the given ChURI is valid for reading, an empty Node (Node.ID == nil) is returned if the parent or node ID does not exist. NodeGet(context.Context, *NodeGetReq) (*Node, error) NodeScan(*NodeScanReq, RPC_NodeScanServer) error NodePut(context.Context, *NodePutReq) (*TxInfo, error) }
RPCServer is the server API for RPC service.
type RPC_NodeScanClient ¶
type RPC_NodeScanClient interface { Recv() (*Node, error) grpc.ClientStream }
type RPC_NodeScanServer ¶
type RPC_NodeScanServer interface { Send(*Node) error grpc.ServerStream }
type TxInfo ¶
type TxInfo struct { StateURI string `protobuf:"bytes,1,opt,name=StateURI,proto3" json:"StateURI,omitempty"` TxID []byte `protobuf:"bytes,2,opt,name=TxID,proto3" json:"TxID,omitempty"` // contains filtered or unexported fields }
func (*TxInfo) Descriptor
deprecated
func (*TxInfo) GetStateURI ¶
func (*TxInfo) ProtoMessage ¶
func (*TxInfo) ProtoMessage()
func (*TxInfo) ProtoReflect ¶
func (x *TxInfo) ProtoReflect() protoreflect.Message
type UnimplementedRPCServer ¶
type UnimplementedRPCServer struct { }
UnimplementedRPCServer can be embedded to have forward compatible implementations.
func (*UnimplementedRPCServer) ChangeUserPerms ¶
func (*UnimplementedRPCServer) ChangeUserPerms(context.Context, *ChangeUserPermsReq) (*TxInfo, error)
func (*UnimplementedRPCServer) ChannelGenesis ¶
func (*UnimplementedRPCServer) ChannelGenesis(context.Context, *ChannelGenesisReq) (*TxInfo, error)
func (*UnimplementedRPCServer) NodeGet ¶
func (*UnimplementedRPCServer) NodeGet(context.Context, *NodeGetReq) (*Node, error)
func (*UnimplementedRPCServer) NodePut ¶
func (*UnimplementedRPCServer) NodePut(context.Context, *NodePutReq) (*TxInfo, error)
func (*UnimplementedRPCServer) NodeScan ¶
func (*UnimplementedRPCServer) NodeScan(*NodeScanReq, RPC_NodeScanServer) error