Documentation ¶
Overview ¶
Package xrefs provides a high-performance serving table implementation of the xrefs.Service.
Table format:
edgeSets:<ticket> -> srvpb.PagedEdgeSet edgePages:<page_key> -> srvpb.EdgePage decor:<ticket> -> srvpb.FileDecorations xrefs:<ticket> -> srvpb.PagedCrossReferences xrefPages:<page_key> -> srvpb.PagedCrossReferences_Page
Index ¶
- func CrossReferencesKey(ticket string) []byte
- func CrossReferencesPageKey(key string) []byte
- func DecorationsKey(ticket string) []byte
- func EdgePageKey(key string) []byte
- func EdgeSetKey(ticket string) []byte
- func NewCombinedTable(t table.ProtoBatch) xrefs.Service
- func NewSplitTable(c *SplitTable) xrefs.Service
- type SplitTable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CrossReferencesKey ¶ added in v0.0.17
CrossReferencesKey returns the cross-references CombinedTable key for the given node ticket.
func CrossReferencesPageKey ¶ added in v0.0.17
CrossReferencesPageKey returns the cross-references page CombinedTable key for the given key.
func DecorationsKey ¶
DecorationsKey returns the decorations CombinedTable key for the given source location ticket.
func EdgePageKey ¶ added in v0.0.9
EdgePageKey returns the edgepage CombinedTable key for the given key.
func EdgeSetKey ¶
EdgeSetKey returns the edgeset CombinedTable key for the given source ticket.
func NewCombinedTable ¶ added in v0.0.9
func NewCombinedTable(t table.ProtoBatch) xrefs.Service
NewCombinedTable returns an xrefs.Service for the given combined xrefs serving table. The table's keys are expected to be constructed using only the EdgeSetKey, EdgePageKey, and DecorationsKey functions.
func NewSplitTable ¶ added in v0.0.9
func NewSplitTable(c *SplitTable) xrefs.Service
NewSplitTable returns an xrefs.Service based on the given serving tables for each API component.
Types ¶
type SplitTable ¶ added in v0.0.9
type SplitTable struct { // Edges is a table of srvpb.PagedEdgeSets keyed by their source tickets. Edges table.ProtoBatch // EdgePages is a table of srvpb.EdgePages keyed by their page keys. EdgePages table.Proto // Decorations is a table of srvpb.FileDecorations keyed by their source // location tickets. Decorations table.Proto // CrossReferences is a table of srvpb.PagedCrossReferences keyed by their // source node tickets. CrossReferences table.Proto // CrossReferencePages is a table of srvpb.PagedCrossReferences_Pages keyed by // their page keys. CrossReferencePages table.Proto }
SplitTable implements the xrefs Service interface using separate static lookup tables for each API component.