Skip to content

Commit 002c04c

Browse files
committed
rename proto to Ss for serverSide vs clientSide streams, refactor main serverSide code
1 parent 76c058a commit 002c04c

File tree

5 files changed

+17
-37
lines changed

5 files changed

+17
-37
lines changed

grpc_mockData/protos/hw2.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ service Greeter {
77
// Sends a greeting
88
rpc SayHello (HelloRequest) returns (HelloReply) {} // single unary stream
99
rpc SayHelloNested (HelloNestedRequest) returns (HelloNestedReply) {} // nested unary stream
10+
rpc SayHellosSs (HelloRequest) returns (stream HelloReply) {}
1011
rpc SayHelloCS (stream HelloRequest) returns (HelloReply) {}
11-
rpc SayHellos (HelloRequest) returns (stream HelloReply) {}
1212
rpc SayHelloBidi (stream HelloRequest) returns (stream HelloReply) {}
1313
}
1414

grpc_mockData/server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ async function sayHelloNested(ctx) {
3636
}
3737
// Server-Side Stream
3838
// used highland library to manage asynchronous data
39-
async function sayHellos(ctx) {
39+
async function sayHellosSs(ctx) {
4040
ctx.set("SERVER-SIDE STREAM", "true");
4141
// In case of UNARY and RESPONSE_STREAM calls it is simply the gRPC call's request
4242

@@ -130,7 +130,7 @@ function sayHelloBidi(ctx) {
130130
*/
131131
function main() {
132132
const app = new Mali(PROTO_PATH, "Greeter");
133-
app.use({ sayHello, sayHelloNested, sayHellos, sayHelloCs, sayHelloBidi });
133+
app.use({ sayHello, sayHelloNested, sayHellosSs, sayHelloCs, sayHelloBidi });
134134
app.start(HOSTPORT);
135135
console.log(`Greeter service running @ ${HOSTPORT}`);
136136
}

main.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ ipcMain.on("fetch-meta-and-client", (event, data) => {
552552
const { reqResObj } = data;
553553
const { rpcType } = data;
554554
const PROTO_PATH = reqResObj.protoPath;
555-
const { packageName, service, url, rpc } = data.reqResObj;
555+
const { packageName, service, url, rpc, queryArr } = data.reqResObj;
556556

557557
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
558558
keepCase: true,
@@ -620,7 +620,6 @@ ipcMain.on("fetch-meta-and-client", (event, data) => {
620620
const call = client[rpc](meta, function (error, response) {
621621
if (error) {
622622
console.log("error in client stream", error);
623-
return undefined;
624623
}
625624
//Close Connection for client Stream
626625
reqResObj.connection = "closed";
@@ -630,15 +629,16 @@ ipcMain.on("fetch-meta-and-client", (event, data) => {
630629
reqResObj.timeReceived = time.timeReceived;
631630
});
632631
reqResObj.response.events.push(response);
633-
store.default.dispatch(actions.reqResUpdate(reqResObj));
634-
}).on("metadata", (metadata) => {
635-
// if metadata is sent back from the server, analyze and handle
636-
const keys = Object.keys(metadata._internal_repr);
637-
for (let i = 0; i < keys.length; i += 1) {
638-
const key = keys[i];
639-
reqResObj.response.headers[key] = metadata._internal_repr[key][0];
640-
}
641-
store.default.dispatch(actions.reqResUpdate(reqResObj));
632+
// update state
633+
mainWindow.webContents.send("reqResUpdate", reqResObj);
634+
}).on("metadata", (data) => {
635+
// metadata is a Map, not an object
636+
const metadata = data.internalRepr;
637+
638+
metadata.forEach((value, key) => {
639+
reqResObj.response.headers[key] = value[0];
640+
});
641+
mainWindow.webContents.send("reqResUpdate", reqResObj);
642642
});
643643

644644
for (let i = 0; i < queryArr.length; i++) {

src/client/controllers/grpcController.js

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,5 @@
1-
// import { Router } from "express";
2-
// import { ipcRenderer } from "electron";
3-
// import { remote } from "electron";
4-
// import { Metadata } from "@grpc/grpc-js";
5-
6-
import * as store from "../store";
7-
import * as actions from "../actions/actions";
8-
91
const { api } = window;
102

11-
// const async = require("async");
12-
// const fs = require("fs");
13-
// const parseArgs = require("minimist");
14-
// const path = require("path");
15-
16-
// const grpc = require("@grpc/grpc-js");
17-
// const protoLoader = require("@grpc/proto-loader");
18-
193
const grpcController = {};
204

215
grpcController.openGrpcConnection = (reqResObj, connectionArray) => {
@@ -57,9 +41,9 @@ grpcController.openGrpcConnection = (reqResObj, connectionArray) => {
5741
}
5842
}
5943

60-
console.log("foundService", foundService);
61-
console.log("foundRpc", foundRpc);
62-
console.log("rpcType", rpcType);
44+
// console.log("foundService", foundService);
45+
// console.log("foundRpc", foundRpc);
46+
// console.log("rpcType", rpcType);
6347

6448
// build gRPC package definition with protoLoader module
6549
const PROTO_PATH = reqResObj.protoPath;

src/client/controllers/reqResController.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ const connectionController = {
6262
else if (/wss?:\/\//.test(reqResObj.protocol))
6363
wsController.openWSconnection(reqResObj, this.openConnectionArray);
6464
else if (reqResObj.gRPC) {
65-
console.log(
66-
"reqResObj INSIDE reqResController BEFORE sending to GRPC controller",
67-
reqResObj
68-
);
6965
grpcController.openGrpcConnection(reqResObj);
7066
} else {
7167
console.log("should be sending");

0 commit comments

Comments
 (0)