syntax = "proto3";

service Source {
	rpc Read(ReadRequest) returns (ReadResponse) {};
	rpc Watch(WatchRequest) returns (stream WatchResponse) {};
}

message ChangeSet {
	bytes data = 1;
	string checksum = 2;
	string format = 3;
	string source = 4;
	int64 timestamp = 5;
}

message ReadRequest {
	string path = 1;
}

message ReadResponse {
	ChangeSet change_set = 1;	
}

message WatchRequest {
	string path = 1;
}

message WatchResponse {
	ChangeSet change_set = 1;
}

