Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce FileStreamStrategy as a first step of FileStream rewrite #47128

Merged
merged 101 commits into from
Feb 24, 2021

Commits on Jan 15, 2021

  1. Configuration menu
    Copy the full SHA
    c0ded00 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0fe40d1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e352313 View commit details
    Browse the repository at this point in the history
  4. ctors

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    550e63f View commit details
    Browse the repository at this point in the history
  5. introduce new abstract class to have Lock, Unlock and Handle methods …

    …to call, implement these methods
    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    62d863c View commit details
    Browse the repository at this point in the history
  6. implement FlushAsync

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    14d2aa0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    796d7a3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2108bd6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3cc6d07 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a202c0 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c45e7eb View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    cedc13a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4b3d048 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    bafc099 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    91513ed View commit details
    Browse the repository at this point in the history
  16. CanRead and CanWrite

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    ecd62f0 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    1faf34a View commit details
    Browse the repository at this point in the history
  18. SetLength(long value)

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    fe308fe View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    082d630 View commit details
    Browse the repository at this point in the history
  20. Position

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    cb6adc3 View commit details
    Browse the repository at this point in the history
  21. IsClosed

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    2feeefa View commit details
    Browse the repository at this point in the history
  22. ReadByte()

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    1301318 View commit details
    Browse the repository at this point in the history
  23. WriteByte(byte value)

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    7f15975 View commit details
    Browse the repository at this point in the history
  24. finalizer

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    6089931 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    d26deb4 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    0a9fd33 View commit details
    Browse the repository at this point in the history
  27. EndRead and EndWrite

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    f681b6f View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    f880335 View commit details
    Browse the repository at this point in the history
  29. fix compilation errors

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    fceeb0d View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    80fdf68 View commit details
    Browse the repository at this point in the history
  31. CanSeek and Seek

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    e1459f1 View commit details
    Browse the repository at this point in the history
  32. fix all compilation errors

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    7cf008d View commit details
    Browse the repository at this point in the history
  33. add missing overrides (implemented in OS-specific files and not caugh…

    …t previously)
    
    all tests on Windows are passing
    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    d1d6528 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    d30f371 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    99868c4 View commit details
    Browse the repository at this point in the history
  36. it might seem to have to sense now, but we plan to introduce dedicate…

    …d strategies for sync and async implementation
    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    07ed850 View commit details
    Browse the repository at this point in the history
  37. some minor polishing

    adamsitnik committed Jan 15, 2021
    Configuration menu
    Copy the full SHA
    19ef1a7 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2021

  1. Configuration menu
    Copy the full SHA
    50a6850 View commit details
    Browse the repository at this point in the history
  2. it looks like having this finalizer is mandatory, as we can not guara…

    …ntee that the Strategy won't be null in FileStream finalizer
    adamsitnik committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    a0b3196 View commit details
    Browse the repository at this point in the history
  3. fix a typo in the comments

    adamsitnik committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    e3b23fd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2581181 View commit details
    Browse the repository at this point in the history
  5. move ctor argument validation logic back to FileStream (it's going to…

    … make it easier to separate Windows and Unix implementation)
    adamsitnik committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    62580e8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    82ac0d7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d35bd15 View commit details
    Browse the repository at this point in the history
  8. more polishing

    adamsitnik committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    7a4c761 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7c95a6c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    85ab921 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2021

  1. Configuration menu
    Copy the full SHA
    ccfea9a View commit details
    Browse the repository at this point in the history
  2. make sure base.CopyToAsync is called for all custom types that Derive…

    … from FileStream (because the method calls other base methods)
    adamsitnik committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    97a8c51 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a288c2a View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2021

  1. Configuration menu
    Copy the full SHA
    662fa2c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    233df39 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b4b31c4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    19cec28 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3a2f106 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2021

  1. Configuration menu
    Copy the full SHA
    4e3796c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    227d98d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c865a8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e82a235 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8756821 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d7dd225 View commit details
    Browse the repository at this point in the history
  7. remove handle

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    23446ee View commit details
    Browse the repository at this point in the history
  8. fix finalizer

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    4793717 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6c79ac5 View commit details
    Browse the repository at this point in the history
  10. Lock & Unlock

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    cc65678 View commit details
    Browse the repository at this point in the history
  11. FlushWriteBuffer

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    6d2db24 View commit details
    Browse the repository at this point in the history
  12. FlushOSBuffer

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    01899df View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    c2cc411 View commit details
    Browse the repository at this point in the history
  14. SetLength

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    a92424d View commit details
    Browse the repository at this point in the history
  15. Length {get;}

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    e360787 View commit details
    Browse the repository at this point in the history
  16. OnBufferAllocated

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    3791ecc View commit details
    Browse the repository at this point in the history
  17. FillReadBufferForReadByte

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    c1a418a View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    dab77a3 View commit details
    Browse the repository at this point in the history
  19. ReadSpan WriteSpan

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    6e8d201 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    08bbb0f View commit details
    Browse the repository at this point in the history
  21. SeekCore

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    4e86030 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    c85c303 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    5802b83 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    33f58df View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    2e20ab9 View commit details
    Browse the repository at this point in the history
  26. this is not needed anymore

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    1704b83 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    34b7822 View commit details
    Browse the repository at this point in the history
  28. fix the build?

    adamsitnik committed Jan 22, 2021
    Configuration menu
    Copy the full SHA
    81cd5eb View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2021

  1. rename CommonFileStreamStrategyTemplate to FileStreamStrategyBase bef…

    …ore everyone starts yelling at me
    adamsitnik committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    0a4c55c View commit details
    Browse the repository at this point in the history
  2. introduce FileStreamStrategyHelper and move some of the parameterless…

    … static helper methods there
    adamsitnik committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    01f0cc3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    692b965 View commit details
    Browse the repository at this point in the history
  4. fix the Unix build?

    adamsitnik committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    fe202db View commit details
    Browse the repository at this point in the history
  5. fix the Unix build

    adamsitnik committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    1258ad7 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2021

  1. Configuration menu
    Copy the full SHA
    d9fc921 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d820c3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9706f3d View commit details
    Browse the repository at this point in the history
  4. it looks like the internal FileStream.IsClosed can be removed as we d…

    …on't have any types in CoreLib that use it
    adamsitnik committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    a76ed8c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6204ae5 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2021

  1. Configuration menu
    Copy the full SHA
    ba34492 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. Configuration menu
    Copy the full SHA
    a52f5a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a3b3c9 View commit details
    Browse the repository at this point in the history
  3. fix Unix build 1/n

    adamsitnik committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    b41456a View commit details
    Browse the repository at this point in the history
  4. update comment

    adamsitnik committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    41c3263 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2021

  1. Update src/libraries/System.Private.CoreLib/src/System/IO/FileStream.cs

    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    adamsitnik and stephentoub authored Feb 23, 2021
    Configuration menu
    Copy the full SHA
    a88f1a5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ad9cbb View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2021

  1. Apply suggestions from code review

    Co-authored-by: David Cantú <dacantu@microsoft.com>
    adamsitnik and jozkee authored Feb 24, 2021
    Configuration menu
    Copy the full SHA
    835fa17 View commit details
    Browse the repository at this point in the history