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

Replace Websockets with GRPC #20

Merged
merged 11 commits into from
Sep 5, 2024

Commits on Sep 5, 2024

  1. Directory.Packages.props: update STJ

    Update System.Text.Json library to version 8.0.4 since
    previously used version (8.0.1) contains vlunerabilities.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    db64f15 View commit details
    Browse the repository at this point in the history
  2. Replace WebSocketApp proj with GRPC*

    Removed WebSocket project and added GRPC projects from RIM
    (copy&paste).
    
    Then removed unused stuff from GRPC* projects and specified
    package versions in Directory.Packages.props.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    844b45f View commit details
    Browse the repository at this point in the history
  3. Tests,GrpcClient,GrpcServer: made e2e GRPC test

    Made end-to-end GRPC test that makes sure GRPC communication is
    working.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    60642f4 View commit details
    Browse the repository at this point in the history
  4. CI,GrpcClient,Tests: use HTTPS connection

    Use HTTPS connection for GRPC communtication.
    
    Also added commands to CI that trust ASP.NET certificate on
    Linux because otherwise GRPC communication fails.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    dfbecad View commit details
    Browse the repository at this point in the history
  5. Enable TreatWarningsAsErrors

    Enable TreatWarningsAsErrors in Directory.Build.props.
    Exception is CS8981 (lowercase type names) in GrpcClient and
    GrpcService projects because it is triggered by auto-generated
    protobuf types.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    b75f01b View commit details
    Browse the repository at this point in the history
  6. Add GrpcModels project for server/client interop

    Added GrpcModels project for server/client interop which
    includes message models (that were in WebSocketApp), as well
    as Marshalling module (code from RIM).
    
    Use serialization options defined in Core/RedisStorageLayer.fs
    in Marshalling module. This is needed for F# types support.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    90fe289 View commit details
    Browse the repository at this point in the history
  7. Core,GrpcModels: Match & Option json converters

    Implemented json converters for Match and Option<'T> types.
    
    Match type converter is placed in GrpcModels.ModelSerialization
    since it's not used in Redis, but only in GRPC.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    7b4e449 View commit details
    Browse the repository at this point in the history
  8. Tests: use message that responds in e2e test

    Modified e2e test to use message that returns response so that
    serilization is tested.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    549c4f4 View commit details
    Browse the repository at this point in the history
  9. Tests: clean DB after run in tests

    Clean DB after each test run in BasicTests, MakerOnlyOrders,
    MarketOrders, and LimitOrders test classes. This is needed for
    all tests to start from empty state.
    
    This commit exposes bug in end2end test - response to the first
    LimitOrder should be None, not Some(Full). It will be fixed
    later.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    2796a76 View commit details
    Browse the repository at this point in the history
  10. Tests: expand GrpcE2ETest to use Partial

    Expand GrpcE2ETest so that Match.Partial case is used and
    any serialization errors cancerning it will be caught by this
    test.
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c7708ca View commit details
    Browse the repository at this point in the history
  11. GrpcModels: fix in Match type deserialization

    Fix in Match type deserialization (Partial case).
    webwarrior-ws committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    75ecbfd View commit details
    Browse the repository at this point in the history