--- /dev/null
+/**\r
+ * RPC service method.\r
+ * @exports ProtoBuf.Reflect.Service.RPCMethod\r
+ * @param {!ProtoBuf.Builder} builder Builder reference\r
+ * @param {!ProtoBuf.Reflect.Service} svc Service\r
+ * @param {string} name Method name\r
+ * @param {string} request Request message name\r
+ * @param {string} response Response message name\r
+ * @param {boolean} request_stream Whether requests are streamed\r
+ * @param {boolean} response_stream Whether responses are streamed\r
+ * @param {Object.<string,*>=} options Options\r
+ * @constructor\r
+ * @extends ProtoBuf.Reflect.Service.Method\r
+ */\r
+var RPCMethod = function(builder, svc, name, request, response, request_stream, response_stream, options) {\r
+ Method.call(this, builder, svc, name, options);\r
+\r
+ /**\r
+ * @override\r
+ */\r
+ this.className = "Service.RPCMethod";\r
+\r
+ /**\r
+ * Request message name.\r
+ * @type {string}\r
+ * @expose\r
+ */\r
+ this.requestName = request;\r
+\r
+ /**\r
+ * Response message name.\r
+ * @type {string}\r
+ * @expose\r
+ */\r
+ this.responseName = response;\r
+\r
+ /**\r
+ * Whether requests are streamed\r
+ * @type {bool}\r
+ * @expose\r
+ */\r
+ this.requestStream = request_stream;\r
+\r
+ /**\r
+ * Whether responses are streamed\r
+ * @type {bool}\r
+ * @expose\r
+ */\r
+ this.responseStream = response_stream;\r
+\r
+ /**\r
+ * Resolved request message type.\r
+ * @type {ProtoBuf.Reflect.Message}\r
+ * @expose\r
+ */\r
+ this.resolvedRequestType = null;\r
+\r
+ /**\r
+ * Resolved response message type.\r
+ * @type {ProtoBuf.Reflect.Message}\r
+ * @expose\r
+ */\r
+ this.resolvedResponseType = null;\r
+};\r
+\r
+// Extends Method\r
+RPCMethod.prototype = Object.create(Method.prototype);\r