Skip to content

Commit 6922b82

Browse files
committed
added comments
1 parent f3071c3 commit 6922b82

39 files changed

+1179
-13
lines changed

ProtoBase/BeginEndMarkReceiveFilter.cs

+43
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,22 @@
55

66
namespace SuperSocket.ProtoBase
77
{
8+
/// <summary>
9+
/// The receive filter which is designed for the protocol with begin and end mark within each message
10+
/// </summary>
11+
/// <typeparam name="TPackageInfo">The type of the package info.</typeparam>
812
public abstract class BeginEndMarkReceiveFilter<TPackageInfo> : IReceiveFilter<TPackageInfo>, IPackageResolver<TPackageInfo>
913
where TPackageInfo : IPackageInfo
1014
{
1115
private readonly SearchMarkState<byte> m_BeginSearchState;
1216
private readonly SearchMarkState<byte> m_EndSearchState;
1317
private bool m_FoundBegin = false;
1418

19+
/// <summary>
20+
/// Initializes a new instance of the <see cref="BeginEndMarkReceiveFilter{TPackageInfo}"/> class.
21+
/// </summary>
22+
/// <param name="beginMark">The begin mark.</param>
23+
/// <param name="endMark">The end mark.</param>
1524
public BeginEndMarkReceiveFilter(byte[] beginMark, byte[] endMark)
1625
{
1726
m_BeginSearchState = new SearchMarkState<byte>(beginMark);
@@ -32,6 +41,10 @@ private bool CheckChanged(byte[] oldMark, byte[] newMark)
3241
return false;
3342
}
3443

44+
/// <summary>
45+
/// Changes the begin mark.
46+
/// </summary>
47+
/// <param name="beginMark">The begin mark.</param>
3548
public void ChangeBeginMark(byte[] beginMark)
3649
{
3750
if (!CheckChanged(m_BeginSearchState.Mark, beginMark))
@@ -40,6 +53,10 @@ public void ChangeBeginMark(byte[] beginMark)
4053
m_BeginSearchState.Change(beginMark);
4154
}
4255

56+
/// <summary>
57+
/// Changes the end mark.
58+
/// </summary>
59+
/// <param name="endMark">The end mark.</param>
4360
public void ChangeEndMark(byte[] endMark)
4461
{
4562
if (!CheckChanged(m_EndSearchState.Mark, endMark))
@@ -48,8 +65,19 @@ public void ChangeEndMark(byte[] endMark)
4865
m_EndSearchState.Change(endMark);
4966
}
5067

68+
/// <summary>
69+
/// Resolves the package binary data to package instance
70+
/// </summary>
71+
/// <param name="packageData">The package binary data.</param>
72+
/// <returns></returns>
5173
public abstract TPackageInfo ResolvePackage(IList<ArraySegment<byte>> packageData);
5274

75+
/// <summary>
76+
/// Filters the received data.
77+
/// </summary>
78+
/// <param name="data">The received data.</param>
79+
/// <param name="rest">The length of the rest data after filtering.</param>
80+
/// <returns>the received packageInfo instance</returns>
5381
public virtual TPackageInfo Filter(ReceiveCache data, out int rest)
5482
{
5583
rest = 0;
@@ -139,10 +167,25 @@ public virtual TPackageInfo Filter(ReceiveCache data, out int rest)
139167
}
140168
}
141169

170+
/// <summary>
171+
/// Gets or sets the next receive filter. The next receive filter will be used when the next network data is received.
172+
/// </summary>
173+
/// <value>
174+
/// The next receive filter.
175+
/// </value>
142176
public IReceiveFilter<TPackageInfo> NextReceiveFilter { get; protected set; }
143177

178+
/// <summary>
179+
/// Gets or sets the filter state.
180+
/// </summary>
181+
/// <value>
182+
/// The state.
183+
/// </value>
144184
public FilterState State { get; protected set; }
145185

186+
/// <summary>
187+
/// Resets this receive filter.
188+
/// </summary>
146189
public void Reset()
147190
{
148191
m_BeginSearchState.Matched = 0;

0 commit comments

Comments
 (0)