| syntax = "proto2"; |
| |
| package net.stubby.examples; |
| |
| // Protocol type definitions |
| message StockRequest { |
| optional string symbol = 1; |
| optional int32 num_trades_to_watch = 2 [default=0]; |
| }; |
| |
| message StockReply { |
| optional float price = 1; |
| optional string symbol = 2; |
| }; |
| |
| |
| // Interface exported by the server |
| service Stock { |
| // Simple blocking RPC |
| rpc GetLastTradePrice(StockRequest) returns (StockReply) { |
| }; |
| // Bidirectional streaming RPC |
| rpc GetLastTradePriceMultiple(stream StockRequest) returns |
| (stream StockReply) { |
| }; |
| // Unidirectional server-to-client streaming RPC |
| rpc WatchFutureTrades(StockRequest) returns (stream StockReply) { |
| }; |
| // Unidirectional client-to-server streaming RPC |
| rpc GetHighestTradePrice(stream StockRequest) returns (StockReply) { |
| }; |
| |
| }; |