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

oonimkall: mobile api for running WebConnectivity #223

Merged
merged 10 commits into from
Mar 18, 2021

Conversation

bassosimone
Copy link
Contributor

@bassosimone bassosimone commented Feb 9, 2021

Yesterday we had a team meeting where we discussed the importance
of stopping using MK wrappers for running experiments.

Here's a PoC showing how we can do that for WebConnectivity. It
seems to me we probably want to add more tests and merge this code
such that we can experiment with it quite soon.

There seems to be opportunities for auto-generating code, BTW.

While working on this PoC, I've also took a chance to revamp the
external documentation of pkg/oonimkall.

Reference issue: ooni/probe#1346

Yesterday we had a team meeting where we discussed the importance
of stopping using MK wrappers for running experiments.

Here's a PoC showing how we can do that for WebConnectivity. It
seems to me we probably want to add more tests and merge this code
such that we can experiment with it quite soon.

There seems to be opportunities for auto-generating code, BTW.

While working on this PoC, I've also took a chance to revamp the
external documentation of pkg/oonimkall.
@bassosimone bassosimone changed the title poc: mobile api for running WebConnectivity oonimkall: mobile api for running WebConnectivity Feb 9, 2021
@bassosimone bassosimone marked this pull request as ready for review March 11, 2021 09:30
@bassosimone bassosimone requested a review from hellais as a code owner March 11, 2021 09:30
@bassosimone
Copy link
Contributor Author

For reference, this is the generated Java API:

public class WebConnectivityConfig {
  public WebConnectivityConfig();
  public void setCallbacks(ExperimentCallbacks v);
  public void setInput(String v);
}

public class WebConnectivityResults {
  public WebConnectivityResults();
  public double getKibiBytesReceived();
  public double getKibiBytesSent();
  public String getMeasurement();
}

public class Session {
  // ... other methods ...

  public WebConnectivityResults webConnectivity(Context ctx, WebConnectivityConfig config) throws Exception;
}

@bassosimone bassosimone merged commit 0f61778 into master Mar 18, 2021
@bassosimone bassosimone deleted the oonimkall/webconnectivity branch March 18, 2021 07:44
ainghazal pushed a commit to ainghazal/probe-cli that referenced this pull request Mar 8, 2022
* poc: mobile api for running WebConnectivity

Yesterday we had a team meeting where we discussed the importance
of stopping using MK wrappers for running experiments.

Here's a PoC showing how we can do that for WebConnectivity. It
seems to me we probably want to add more tests and merge this code
such that we can experiment with it quite soon.

There seems to be opportunities for auto-generating code, BTW.

While working on this PoC, I've also took a chance to revamp the
external documentation of pkg/oonimkall.

* feat: start making the code more abstract

* chore: write unit tests for new code

* fix(oonimkall): improve naming

* refactor: cosmetic changes

* fix: explain
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants