syntax = "proto3";
package terrazzo.portforward;
import "shared.proto";
service PortForwardService {
rpc Bind(stream PortForwardEndpoint) returns (stream PortForwardAcceptResponse);
rpc Download(stream PortForwardDataRequest) returns (stream PortForwardDataResponse);
rpc Upload(stream PortForwardDataRequest) returns (stream PortForwardDataResponse);
}
message PortForwardEndpoint {
terrazzo.shared.ClientAddress remote = 1;
string host = 2;
int32 port = 3;
}
message PortForwardAcceptResponse {}
message PortForwardDataRequest {
oneof kind {
PortForwardEndpoint endpoint = 1;
bytes data = 2;
}
}
message PortForwardDataResponse {
bytes data = 1;
}