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

bug fix: Bitswap now records 'BytesSent' in ledger #3876

Merged
merged 3 commits into from
Apr 26, 2017

Commits on Apr 26, 2017

  1. bug fix: BytesSent in peers' ledgers now updates

    When sending data to another user, the number of bytes sent to that user (saved
    by the corresponding Bitswap ledger) was not updated (it was always 0). This
    also meant that the debt ratio was also always 0.
    
    The function that updates the `BytesSent` value in the ledger, `MessageSent()`,
    was already implemented, however it was not called when the peer was sent data.
    To fix this, a call to `MessageSent()` was made in the `taskWorker()` function,
    which is where both the message in question and the Bitswap engine were
    available to make the call. `MessageSent()` requires the peer's ID and
    `BitSwapMessage` as its arguments, the latter of which had to be created by
    making a new `BitSwapMessage`, then the block being sent was added to the new
    message.
    
    Note that, similar to the analagous call to `MessageReceived()`, records *all*
    of the bytes sent to a particular user. At some point, both of these should be
    updated to only record the numbers of *useful* bytes sent and received between
    peers.
    
    License: MIT
    Signed-off-by: David Grisham <[email protected]>
    dgrisham committed Apr 26, 2017
    Configuration menu
    Copy the full SHA
    0514504 View commit details
    Browse the repository at this point in the history
  2. tests + data dependency fix: BytesSent bug now completely fixed

    Tests were added to ensure that the bug fix in commit 000fbd25 was correct.
    The tests caught an error where a peer's ledger was not properly locked when
    updating it in the `MessageSent()` function. The appropriate calls to lock the
    ledger were made, and the tests successfully passed.
    
    License: MIT
    Signed-off-by: David Grisham <[email protected]>
    dgrisham committed Apr 26, 2017
    Configuration menu
    Copy the full SHA
    74e19ea View commit details
    Browse the repository at this point in the history
  3. tests: bitswap ledger tests modified

    Updated the `TestBitswapLedger*` tests and added assertions to check concrete
    values for ledgers (rather than just checking that two peers' ledgers match).
    The names for these tests were also changed from the previous commit, according
    to 's/BytesSent/Ledger/'.
    
    License: MIT
    Signed-off-by: David Grisham <[email protected]>
    dgrisham committed Apr 26, 2017
    Configuration menu
    Copy the full SHA
    4789a62 View commit details
    Browse the repository at this point in the history