Skip to content

Refactor fc::fstream to be more like std::fstream #1116

Open
@jmjatlanta

Description

@jmjatlanta

User Story
As a developer I want to use fc::fstream so that it works like most other fstream library classes/functions.

Impacts

  • API (the application programming interface)
  • Build (the build process or something prior to compiled code)
  • CLI (the command line wallet)
  • Deployment (the deployment process after building such as Docker, Travis, etc.)
  • DEX (the Decentralized EXchange, market engine, etc.)
  • P2P (the peer-to-peer network for transaction/block propagation)
  • Performance (system or user efficiency, etc.)
  • Protocol (the blockchain logic, consensus, validation, etc.)
  • Security (the security of system or user data, etc.)
  • UX (the User Experience)
  • Other (please add below)

Additional Context (optional)
fc::fstream had a deficiency that files could not be opened in append mode. See issue #809. As part of the research for that issue, it was found that the mode parameter does not work as one would expect after working with fstream of the standard library or boost. See #809 (comment).

Making fc::fstream compatible with std::fstream will require careful examination of all uses, to make sure they work the same as today. We may even find uses where they are expecting it to work like std::fstream but it is not.

CORE TEAM TASK LIST

  • Evaluate / Prioritize Feature Request
  • Refine User Stories / Requirements
  • Define Test Cases
  • Design / Develop Solution
  • Perform QA/Testing
  • Update Documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    1a EpicHigh level concept to be addressed. Description should contain a list referencing child User Stories2a Discussion NeededPrompt for team to discuss at next stand up.3c EnhancementClassification indicating a change to the functionality of the existing imlementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions