DataFramePartReader.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace SuperWebSocket.Protocol.FramePartReader
  6. {
  7. abstract class DataFramePartReader : IDataFramePartReader
  8. {
  9. static DataFramePartReader()
  10. {
  11. FixPartReader = new FixPartReader();
  12. ExtendedLenghtReader = new ExtendedLenghtReader();
  13. MaskKeyReader = new MaskKeyReader();
  14. PayloadDataReader = new PayloadDataReader();
  15. }
  16. public abstract int Process(int lastLength, WebSocketDataFrame frame, out IDataFramePartReader nextPartReader);
  17. public static IDataFramePartReader NewReader
  18. {
  19. get { return FixPartReader; }
  20. }
  21. protected static IDataFramePartReader FixPartReader { get; private set; }
  22. protected static IDataFramePartReader ExtendedLenghtReader { get; private set; }
  23. protected static IDataFramePartReader MaskKeyReader { get; private set; }
  24. protected static IDataFramePartReader PayloadDataReader { get; private set; }
  25. }
  26. }