feat: scaffold namespaces for data structures, FileStore, and RAFT
Add stub source files for Internal/Avl, Internal/SubjectTree, Internal/Gsl, Internal/TimeHashWheel, Raft/RaftState, and Raft/IRaftNode, plus empty test directories for all new namespaces and a Concurrency suite directory.
This commit is contained in:
7
src/NATS.Server/Internal/Avl/SequenceSet.cs
Normal file
7
src/NATS.Server/Internal/Avl/SequenceSet.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace NATS.Server.Internal.Avl;
|
||||||
|
|
||||||
|
// Go reference: server/avl/seqset.go
|
||||||
|
// TODO: Port AVL-backed sparse sequence set
|
||||||
|
public class SequenceSet
|
||||||
|
{
|
||||||
|
}
|
||||||
7
src/NATS.Server/Internal/Gsl/GenericSubjectList.cs
Normal file
7
src/NATS.Server/Internal/Gsl/GenericSubjectList.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace NATS.Server.Internal.Gsl;
|
||||||
|
|
||||||
|
// Go reference: server/gsl/gsl.go
|
||||||
|
// TODO: Port generic trie-based subject list
|
||||||
|
public class GenericSubjectList<T> where T : IEquatable<T>
|
||||||
|
{
|
||||||
|
}
|
||||||
7
src/NATS.Server/Internal/SubjectTree/SubjectTree.cs
Normal file
7
src/NATS.Server/Internal/SubjectTree/SubjectTree.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace NATS.Server.Internal.SubjectTree;
|
||||||
|
|
||||||
|
// Go reference: server/stree/stree.go
|
||||||
|
// TODO: Port Adaptive Radix Tree for per-subject state
|
||||||
|
public class SubjectTree<T>
|
||||||
|
{
|
||||||
|
}
|
||||||
7
src/NATS.Server/Internal/TimeHashWheel/HashWheel.cs
Normal file
7
src/NATS.Server/Internal/TimeHashWheel/HashWheel.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace NATS.Server.Internal.TimeHashWheel;
|
||||||
|
|
||||||
|
// Go reference: server/thw/thw.go
|
||||||
|
// TODO: Port time hash wheel for TTL expiration
|
||||||
|
public class HashWheel
|
||||||
|
{
|
||||||
|
}
|
||||||
7
src/NATS.Server/Raft/IRaftNode.cs
Normal file
7
src/NATS.Server/Raft/IRaftNode.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace NATS.Server.Raft;
|
||||||
|
|
||||||
|
// Go reference: server/raft.go lines 40-92
|
||||||
|
// TODO: Port RaftNode interface
|
||||||
|
public interface IRaftNode
|
||||||
|
{
|
||||||
|
}
|
||||||
10
src/NATS.Server/Raft/RaftState.cs
Normal file
10
src/NATS.Server/Raft/RaftState.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace NATS.Server.Raft;
|
||||||
|
|
||||||
|
// Go reference: server/raft.go
|
||||||
|
public enum RaftState : byte
|
||||||
|
{
|
||||||
|
Follower = 0,
|
||||||
|
Leader = 1,
|
||||||
|
Candidate = 2,
|
||||||
|
Closed = 3
|
||||||
|
}
|
||||||
0
tests/NATS.Server.Tests/Concurrency/.gitkeep
Normal file
0
tests/NATS.Server.Tests/Concurrency/.gitkeep
Normal file
0
tests/NATS.Server.Tests/Internal/Avl/.gitkeep
Normal file
0
tests/NATS.Server.Tests/Internal/Avl/.gitkeep
Normal file
0
tests/NATS.Server.Tests/Internal/Gsl/.gitkeep
Normal file
0
tests/NATS.Server.Tests/Internal/Gsl/.gitkeep
Normal file
Reference in New Issue
Block a user