PayloadDataReader.cs 643 B

12345678910111213141516171819202122232425
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace SuperWebSocket.Protocol.FramePartReader
  6. {
  7. class PayloadDataReader : DataFramePartReader
  8. {
  9. public override int Process(int lastLength, WebSocketDataFrame frame, out IDataFramePartReader nextPartReader)
  10. {
  11. long required = lastLength + frame.ActualPayloadLength;
  12. if (frame.Length < required)
  13. {
  14. nextPartReader = this;
  15. return -1;
  16. }
  17. nextPartReader = null;
  18. return (int)((long)frame.Length - required);
  19. }
  20. }
  21. }