Code Monkey home page Code Monkey logo

derec-tests's People

Contributors

jorabin avatar

Stargazers

 avatar

Watchers

 avatar  avatar

derec-tests's Issues

Notifications as a class with inheritance

The notifications should be changed so that there is a parent interface DeRecStatusNotification, and then each particular type of notification is an interface that extends the parent interface. The reason for this is that the current implementation with an enum is not extensible by implementations (because they can't add to an enum, but they could add more classes).

The parent should have a method getType which returns an enum from {NORMAL, WARNING, ERROR}.

All of the methods that are currently in the interface are kept.

Package names

The package org.derecalliance should contain:

  • org.derecalliance.derec.interface for API (the interface files)
  • org.derecalliance.derec.protobuf for Java files created from the protobuf
  • org.derecalliance.derec.cryptography for cryptography library

Those files should all have their copyright assigned to the Alliance, once it exists officially.

DeRecStatusNotifications are incomplete

Helper notifications:
Ideally we want to know:

  • When Helper is paired (successfully or unsuccessfully) - defined as AVAILABLE or NOT AVAILABLE, and
  • Whether they are responding to verification messages or not (HEALTHY or NOT HEALTHY).

In DeRecStatusNotification, we should add notifications for when a helper is available/not available, and a helper is healthy/not healthy.

Pairing notifications:

  • During pairing, one would want to know that the person they are pairing with is in recovery mode, to help them be extra vigilant about who they are pairing with. A notification should be added to accommodate that.

Recovery notifications:

  • We should have a notification for sharer when the secret has been recovered.

Notification registration

The API should have a notification registration, where the app passes a lambda that takes one parameter: the notification. The comments should say that this might throw a UnsupportedOperationException if the library implemented some other form of message passing.

secretID UUID -> byte[]

Make the secretId a byte array rather than a UUID class. There should be a comment that says it must be 1 to 16 bytes in length, and must be unique among all secrets for a given sharer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.