-
Notifications
You must be signed in to change notification settings - Fork 0
/
Master.java
36 lines (29 loc) · 1 KB
/
Master.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.IOException;
import java.io.PrintStream;
import java.util.Collection;
public interface Master {
/**
* No sockets or workers should be created before calling this method
* Before it returns, final result should be printed to the stream
* specified in `setOutputStream`
*/
void run();
/**
* @return Returns a collection of processes for active workers
*/
Collection<Process> getActiveProcess();
/**
* Use this method to create a single worker process
* When grading, it counts the invocation of this method
* to check fault tolerance mechanism.
* See `WorkerTest` to know how it works.
*/
void createWorker() throws IOException;
/**
* The final result should be written to the stream specified here.
* When grading, a dedicate stream will be set here, so you can
* print any debug info to console if you want.
* See `FormatTest` to know how it works.
*/
void setOutputStream(PrintStream out);
}