44 Commits

Author SHA1 Message Date
hashicorp-copywrite[bot]
36a312ee26
add missing license headers and update copyright file headers to BUS-1.1 2023-08-10 21:53:25 +01:00
Chris Roberts
70d725f8a0 Add support for origin value restrictions and custom weighting 2022-06-15 10:56:19 -07:00
Chris Roberts
53aae744a4 Allow callables to modify vertex weight 2022-06-15 10:56:19 -07:00
Chris Roberts
439546d58c Update input vertex to allow origin only setting 2022-06-15 10:56:19 -07:00
Chris Roberts
9da90f0b21 Return false if RHS does not implement hash_code 2022-06-15 10:55:00 -07:00
Chris Roberts
9ab74271cf
Add some comments and expand some method documentation 2022-04-25 12:26:57 -05:00
Chris Roberts
f220ac2f94
Add name based re-weight helper. Add documentation/comments. 2022-04-25 12:26:56 -05:00
Chris Roberts
f9e55a8f9d
Fill in vertex base methods 2022-04-25 12:26:56 -05:00
Chris Roberts
1bf4c8d090
Provide Graph#each_vertex helper to graph 2022-04-25 12:26:56 -05:00
Chris Roberts
12cb795392
Add name support for inputs 2022-04-25 12:26:56 -05:00
Chris Roberts
305fddb49a
Retry cached path executions with full graph 2022-04-25 12:26:55 -05:00
Chris Roberts
8cc6116cdf
Store previous successful lookups for future graph generation 2022-04-25 12:26:54 -05:00
Chris Roberts
aaed7b2d82
Update Method vertex hash code and allow callable access 2022-04-25 12:26:54 -05:00
Chris Roberts
3a6308b7fc
Use blocks for logging content to reduce processing 2022-04-25 12:26:54 -05:00
Chris Roberts
c6f6bf0c47
Include source and destination in no path exception message 2022-04-25 12:26:31 -05:00
Chris Roberts
312080ba60
Only write graph when logging mapper output 2022-04-25 12:26:31 -05:00
Chris Roberts
b0f59c40f6
Update the search to use a reversed graph
Reverse the graph before searching so we are only working with
    a single possible destination. A DFS is used to initially prune
    down the graph.
2022-04-25 12:26:30 -05:00
Chris Roberts
3865008b89
Update weights and remove vertices from destination output 2022-04-25 12:26:30 -05:00
Chris Roberts
2f0fdfc153
Add unique vertex type for root 2022-04-25 12:26:30 -05:00
Chris Roberts
451f3041f9
Add support for named vertices to mappers graph 2022-04-25 12:26:28 -05:00
Chris Roberts
286886ae89
Add named vertex type 2022-04-25 12:26:28 -05:00
Chris Roberts
914530d26a
Use trace log level for noisy log messages 2022-04-25 12:26:19 -05:00
Chris Roberts
2bf39a7dcf
If graph is not acyclic, break cycles before finding path 2022-04-25 12:26:18 -05:00
Chris Roberts
2f7a9c5a79
Add support for detecting and breaking cycles in graph 2022-04-25 12:26:18 -05:00
Chris Roberts
3cdac85d91
Allow nil values for input types 2022-04-25 12:26:18 -05:00
Chris Roberts
998432faee
Include source type when failed to reach destination 2022-04-25 12:26:17 -05:00
Chris Roberts
319d86e555
Check graph for cycles before sorting. Fix expansion. 2022-04-25 12:26:03 -05:00
Chris Roberts
4f4a2ae916
Use clone before reversing 2022-04-25 12:26:03 -05:00
Chris Roberts
022f17e711
Use final vertex type for destination in mapper 2022-04-25 12:26:02 -05:00
Chris Roberts
7d548517c9
Add final vertex type to define destination 2022-04-25 12:26:02 -05:00
Chris Roberts
e60e43553e
Do not allow output vertices to be unique 2022-04-25 12:26:02 -05:00
Chris Roberts
0e8ded18aa
Add significant weight to non-direct type matches 2022-04-25 12:26:00 -05:00
Chris Roberts
6135b412d3
Increase edge weight when types do not match 2022-04-25 12:25:58 -05:00
Chris Roberts
909bd68126
Adjust edge weights and connect subtypes 2022-04-25 12:25:58 -05:00
Chris Roberts
1d4c57222f
Validate path starts with source and ends with destination 2022-04-25 12:25:58 -05:00
Chris Roberts
d1974d9a00
Remove implementations no longer required 2022-04-25 12:25:50 -05:00
Chris Roberts
481d7185a7
Use graph functions for searching and expanding path 2022-04-25 12:25:50 -05:00
Chris Roberts
a6367553c8
When building graph, set weight on vertices 2022-04-25 12:25:50 -05:00
Chris Roberts
482bf15d57
Rebuild graph on top of RGL 2022-04-25 12:25:50 -05:00
Chris Roberts
0a20c9d665
Update weighted vertex to be a decorator 2022-04-25 12:25:50 -05:00
Chris Roberts
2bdfd8b810
Update output format for vertex string methods 2022-04-25 12:25:50 -05:00
Chris Roberts
d81d505e8a
Add internal tools utilzing graph 2022-04-25 12:24:44 -05:00
Chris Roberts
0a26c040f7
Add a graph implementation and typed vertices 2022-04-25 12:24:44 -05:00
Chris Roberts
6d682ab7eb
Add simple stack implementation 2022-04-25 12:24:44 -05:00