47 instantiations of PathSegment
Microsoft.AspNetCore.Routing (2)
Matching\FastPathTokenizer.cs (2)
29segments[count++] = new PathSegment(start, end); 38segments[count++] = new PathSegment(start, length);
Microsoft.AspNetCore.Routing.Microbenchmarks (14)
Matching\FastPathTokenizerBenchmarkBase.cs (3)
15segments[count++] = new PathSegment(start, end - start); 23segments[count++] = new PathSegment(start, length); 31segments[0] = new PathSegment(start, length);
Matching\JumpTableMultipleEntryBenchmark.cs (1)
30_segments[i] = new PathSegment(1, _strings[i].Length - 2);
Matching\JumpTableSingleEntryBenchmark.cs (5)
36new PathSegment(6, 3), 37new PathSegment(6, 12), 38new PathSegment(6, 11), 39new PathSegment(6, 0), 40new PathSegment(6, 13),
Matching\JumpTableZeroEntryBenchmark.cs (5)
28new PathSegment(6, 3), 29new PathSegment(6, 12), 30new PathSegment(6, 11), 31new PathSegment(6, 0), 32new PathSegment(6, 13),
Microsoft.AspNetCore.Routing.Tests (31)
Matching\FastPathTokenizerTest.cs (16)
47Assert.Equal(new PathSegment(1, 3), segments[0]); 61Assert.Equal(new PathSegment(1, 1), segments[0]); 62Assert.Equal(new PathSegment(3, 1), segments[1]); 63Assert.Equal(new PathSegment(5, 1), segments[2]); 77Assert.Equal(new PathSegment(1, 1), segments[0]); 78Assert.Equal(new PathSegment(3, 1), segments[1]); 79Assert.Equal(new PathSegment(5, 1), segments[2]); 93Assert.Equal(new PathSegment(1, 3), segments[0]); 94Assert.Equal(new PathSegment(5, 2), segments[1]); 95Assert.Equal(new PathSegment(8, 5), segments[2]); 109Assert.Equal(new PathSegment(1, 0), segments[0]); 110Assert.Equal(new PathSegment(2, 0), segments[1]); 111Assert.Equal(new PathSegment(3, 1), segments[2]); 125Assert.Equal(new PathSegment(1, 1), segments[0]); 126Assert.Equal(new PathSegment(3, 1), segments[1]); 127Assert.Equal(new PathSegment(5, 1), segments[2]);
Matching\ILEmitTrieJumpTableTest.cs (4)
90var segment = new PathSegment(start, length); 151var segment = new PathSegment(start, length); 215var segment = new PathSegment(start, length); 240var pathSegment = new PathSegment(0, segment.Length);
Matching\MultipleEntryJumpTableTest.cs (5)
20var result = table.GetDestination("ignored", new PathSegment(0, 0)); 33var result = table.GetDestination("text", new PathSegment(1, 2)); 46var result = table.GetDestination("some-text", new PathSegment(5, 4)); 59var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); 72var result = table.GetDestination("some-tExt", new PathSegment(5, 4));
Matching\SingleEntryJumpTableTestBase.cs (4)
21var result = table.GetDestination("ignored", new PathSegment(0, 0)); 34var result = table.GetDestination("text", new PathSegment(1, 2)); 47var result = table.GetDestination("some-text", new PathSegment(5, 4)); 60var result = table.GetDestination("some-tExt", new PathSegment(5, 4));
Matching\ZeroEntryJumpTableTest.cs (2)
15var result = table.GetDestination("ignored", new PathSegment(0, 0)); 28var result = table.GetDestination("ignored", new PathSegment(0, 1));
78 references to PathSegment
Microsoft.AspNetCore.Routing (23)
Matching\DfaMatcher.cs (9)
45Span<PathSegment> buffer = stackalloc PathSegment[_maxSegmentCount]; 212ReadOnlySpan<PathSegment> segments) 238ReadOnlySpan<PathSegment> segments) 246var segment = segments[segmentIndex]; 261ReadOnlySpan<PathSegment> segments) 268var segment = segments[segmentIndex]; 279ReadOnlySpan<PathSegment> segments, 285var segment = segments[segmentIndex];
Matching\DictionaryJumpTable.cs (1)
29public override int GetDestination(string path, PathSegment segment)
Matching\FastPathTokenizer.cs (1)
15public static int Tokenize(string path, Span<PathSegment> segments)
Matching\ILEmitTrieJumpTable.cs (4)
32internal Func<string, PathSegment, int> _getDestination; 50public override int GetDestination(string path, PathSegment segment) 57private int FallbackGetDestination(string path, PathSegment segment) 81_getDestination = (string path, PathSegment segment) =>
Matching\JumpTable.cs (1)
11public abstract int GetDestination(string path, PathSegment segment);
Matching\LinearSearchJumpTable.cs (1)
25public override int GetDestination(string path, PathSegment segment)
Matching\PathSegment.cs (3)
6internal readonly struct PathSegment : IEquatable<PathSegment> 19return obj is PathSegment segment ? Equals(segment) : false; 22public bool Equals(PathSegment other)
Matching\SingleEntryAsciiJumpTable.cs (1)
30public override int GetDestination(string path, PathSegment segment)
Matching\SingleEntryJumpTable.cs (1)
25public override int GetDestination(string path, PathSegment segment)
Matching\ZeroEntryJumpTable.cs (1)
17public override int GetDestination(string path, PathSegment segment)
Microsoft.AspNetCore.Routing.Microbenchmarks (25)
Matching\FastPathTokenizerBenchmarkBase.cs (2)
8internal unsafe void NaiveBaseline(string path, PathSegment* segments, int maxCount) 27internal unsafe void MinimalBaseline(string path, PathSegment* segments, int maxCount)
Matching\FastPathTokenizerEmptyBenchmark.cs (3)
18var segments = stackalloc PathSegment[MaxCount]; 27Span<PathSegment> segments = stackalloc PathSegment[MaxCount];
Matching\FastPathTokenizerLargeBenchmark.cs (3)
22var segments = stackalloc PathSegment[MaxCount]; 31Span<PathSegment> segments = stackalloc PathSegment[MaxCount];
Matching\FastPathTokenizerPlaintextBenchmark.cs (3)
18var segments = stackalloc PathSegment[MaxCount]; 27Span<PathSegment> segments = stackalloc PathSegment[MaxCount];
Matching\FastPathTokenizerSmallBenchmark.cs (3)
18var segments = stackalloc PathSegment[MaxCount]; 27Span<PathSegment> segments = stackalloc PathSegment[MaxCount];
Matching\JumpTableMultipleEntryBenchmark.cs (4)
11private PathSegment[] _segments; 26_segments = new PathSegment[100]; 43var segment = _segments[sampleIndex]; 65var segment = segments[i];
Matching\JumpTableSingleEntryBenchmark.cs (3)
16private PathSegment[] _segments; 34_segments = new PathSegment[] 54var segment = segments[i];
Matching\JumpTableZeroEntryBenchmark.cs (2)
12private PathSegment[] _segments; 26_segments = new PathSegment[]
Matching\TrivialMatcher.cs (1)
38internal Candidate[] FindCandidateSet(string path, ReadOnlySpan<PathSegment> segments)
src\Http\Routing\test\UnitTests\Matching\BarebonesMatcher.cs (1)
103internal Candidate[] FindCandidateSet(string path, ReadOnlySpan<PathSegment> segments)
Microsoft.AspNetCore.Routing.Tests (30)
Matching\BarebonesMatcher.cs (1)
103internal Candidate[] FindCandidateSet(string path, ReadOnlySpan<PathSegment> segments)
Matching\DfaMatcherTest.cs (9)
368var buffer = new PathSegment[3]; 395var buffer = new PathSegment[3]; 422var buffer = new PathSegment[3]; 449var buffer = new PathSegment[3]; 474var buffer = new PathSegment[3]; 500var buffer = new PathSegment[3]; 527var buffer = new PathSegment[3]; 554var buffer = new PathSegment[3]; 565private (HttpContext context, string path, int count) CreateMatchingContext(string requestPath, PathSegment[] buffer)
Matching\FastPathTokenizerTest.cs (16)
14Span<PathSegment> segments = stackalloc PathSegment[1]; 27Span<PathSegment> segments = stackalloc PathSegment[1]; 40Span<PathSegment> segments = stackalloc PathSegment[1]; 54Span<PathSegment> segments = stackalloc PathSegment[3]; 70Span<PathSegment> segments = stackalloc PathSegment[3]; 86Span<PathSegment> segments = stackalloc PathSegment[3]; 102Span<PathSegment> segments = stackalloc PathSegment[3]; 118Span<PathSegment> segments = stackalloc PathSegment[3];
Matching\ILEmitTrieJumpTableTest.cs (4)
90var segment = new PathSegment(start, length); 151var segment = new PathSegment(start, length); 215var segment = new PathSegment(start, length); 240var pathSegment = new PathSegment(0, segment.Length);