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:
Joseph Doherty
2026-02-23 20:42:42 -05:00
parent 4a4d27c878
commit 636906f545
11 changed files with 45 additions and 0 deletions

View 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
{
}

View 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>
{
}

View 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>
{
}

View 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
{
}

View File

@@ -0,0 +1,7 @@
namespace NATS.Server.Raft;
// Go reference: server/raft.go lines 40-92
// TODO: Port RaftNode interface
public interface IRaftNode
{
}

View 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
}