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

Stream output from judger #88

Open
2 tasks
Eason0729 opened this issue Sep 4, 2024 · 0 comments
Open
2 tasks

Stream output from judger #88

Eason0729 opened this issue Sep 4, 2024 · 0 comments
Labels
C-Judger Relate to judger good first issue Good for newcomers K-Feature Feature request P-Low Low priority

Comments

@Eason0729
Copy link
Contributor

Currently, we wait application(user submitted program) to end before sending any byte to client(for convenience).

This issue contains two parts to fix:

  • rework assert stage(module: judger/src/language/stage) to accept stream and possibly return WA early.
  • rework output monitor(judger/src/sandbox/monitor/output.rs)
    we should use pipe(2) instead of duplex, which we can ensure no intermediate copy and thus ensure output limit isn't enforced too early or late.

This won't affect application's usability. However, use of pipe(2) should be tested to prove its effectiveness.

@Eason0729 Eason0729 added P-Low Low priority good first issue Good for newcomers C-Judger Relate to judger K-Feature Feature request labels Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Judger Relate to judger good first issue Good for newcomers K-Feature Feature request P-Low Low priority
Projects
None yet
Development

No branches or pull requests

1 participant