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