Updating working code (#6441)

Fixes issues with namespaces in grpc ts

Renamed welcome -> models
This commit is contained in:
mustiikhalil
2021-02-10 22:46:45 +03:00
committed by GitHub
parent 0f83367f57
commit 60eed0ca66
10 changed files with 310 additions and 288 deletions

View File

@@ -1,10 +1,11 @@
import grpc from 'grpc';
import { HelloRequest } from './greeter_generated';
import { HelloReply } from './models/hello-reply';
import { HelloRequest } from './models/hello-request';
import { GreeterClient } from './greeter_grpc';
import { flatbuffers } from 'flatbuffers';
async function main() {
const _server = new GreeterClient('localhost:3000', grpc.credentials.createInsecure());
async function main(PORT: Number) {
const _server = new GreeterClient(`localhost:${PORT}`, grpc.credentials.createInsecure());
const builder = new flatbuffers.Builder();
const offset = builder.createString('mustii');
const root = HelloRequest.createHelloRequest(builder, offset);
@@ -25,4 +26,9 @@ async function main() {
});
}
main();
var PORT = Number(process.argv.slice(2));
if (PORT) {
main(PORT);
} else {
throw new Error("Requires a valid port number.")
}

View File

@@ -1,3 +1,5 @@
namespace models;
table HelloReply {
message:string;
}
@@ -7,6 +9,6 @@ table HelloRequest {
}
rpc_service Greeter {
SayHello(HelloRequest):HelloReply;
SayManyHellos(HelloRequest):HelloReply (streaming: "server");
SayHello(models.HelloRequest):models.HelloReply;
SayManyHellos(models.HelloRequest):models.HelloReply (streaming: "server");
}

View File

@@ -1,174 +0,0 @@
// automatically generated by the FlatBuffers compiler, do not modify
/**
* @constructor
*/
export class HelloReply {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos:number = 0;
/**
* @param number i
* @param flatbuffers.ByteBuffer bb
* @returns HelloReply
*/
__init(i:number, bb:flatbuffers.ByteBuffer):HelloReply {
this.bb_pos = i;
this.bb = bb;
return this;
};
/**
* @param flatbuffers.ByteBuffer bb
* @param HelloReply= obj
* @returns HelloReply
*/
static getRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?:HelloReply):HelloReply {
return (obj || new HelloReply()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.ByteBuffer bb
* @param HelloReply= obj
* @returns HelloReply
*/
static getSizePrefixedRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?:HelloReply):HelloReply {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new HelloReply()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.Encoding= optionalEncoding
* @returns string|Uint8Array|null
*/
message():string|null
message(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
message(optionalEncoding?:any):string|Uint8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
};
/**
* @param flatbuffers.Builder builder
*/
static startHelloReply(builder:flatbuffers.Builder) {
builder.startObject(1);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset messageOffset
*/
static addMessage(builder:flatbuffers.Builder, messageOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, messageOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
static endHelloReply(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject();
return offset;
};
static createHelloReply(builder:flatbuffers.Builder, messageOffset:flatbuffers.Offset):flatbuffers.Offset {
HelloReply.startHelloReply(builder);
HelloReply.addMessage(builder, messageOffset);
return HelloReply.endHelloReply(builder);
}
serialize():Uint8Array {
return this.bb!.bytes();
}
static deserialize(buffer: Uint8Array):HelloReply {
return HelloReply.getRootAsHelloReply(new flatbuffers.ByteBuffer(buffer))
}
}
/**
* @constructor
*/
export class HelloRequest {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos:number = 0;
/**
* @param number i
* @param flatbuffers.ByteBuffer bb
* @returns HelloRequest
*/
__init(i:number, bb:flatbuffers.ByteBuffer):HelloRequest {
this.bb_pos = i;
this.bb = bb;
return this;
};
/**
* @param flatbuffers.ByteBuffer bb
* @param HelloRequest= obj
* @returns HelloRequest
*/
static getRootAsHelloRequest(bb:flatbuffers.ByteBuffer, obj?:HelloRequest):HelloRequest {
return (obj || new HelloRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.ByteBuffer bb
* @param HelloRequest= obj
* @returns HelloRequest
*/
static getSizePrefixedRootAsHelloRequest(bb:flatbuffers.ByteBuffer, obj?:HelloRequest):HelloRequest {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new HelloRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
};
/**
* @param flatbuffers.Encoding= optionalEncoding
* @returns string|Uint8Array|null
*/
name():string|null
name(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
name(optionalEncoding?:any):string|Uint8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
};
/**
* @param flatbuffers.Builder builder
*/
static startHelloRequest(builder:flatbuffers.Builder) {
builder.startObject(1);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset nameOffset
*/
static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, nameOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset
*/
static endHelloRequest(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject();
return offset;
};
static createHelloRequest(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset):flatbuffers.Offset {
HelloRequest.startHelloRequest(builder);
HelloRequest.addName(builder, nameOffset);
return HelloRequest.endHelloRequest(builder);
}
serialize():Uint8Array {
return this.bb!.bytes();
}
static deserialize(buffer: Uint8Array):HelloRequest {
return HelloRequest.getRootAsHelloRequest(new flatbuffers.ByteBuffer(buffer))
}
}

View File

@@ -1,6 +1,7 @@
// Generated GRPC code for FlatBuffers TS *** DO NOT EDIT ***
import { flatbuffers } from 'flatbuffers';
import * as Greeter_fbs from './greeter_generated';
import { HelloReply as models_HelloReply } from './models/hello-reply';
import { HelloRequest as models_HelloRequest } from './models/hello-request';
import * as grpc from 'grpc';
@@ -8,47 +9,47 @@ interface IGreeterService extends grpc.ServiceDefinition<grpc.UntypedServiceImpl
SayHello: IGreeterService_ISayHello;
SayManyHellos: IGreeterService_ISayManyHellos;
}
interface IGreeterService_ISayHello extends grpc.MethodDefinition<Greeter_fbs.HelloRequest, Greeter_fbs.HelloReply> {
path: string; // /Greeter/SayHello
interface IGreeterService_ISayHello extends grpc.MethodDefinition<models_HelloRequest, models_HelloReply> {
path: string; // /models.Greeter/SayHello
requestStream: boolean; // false
responseStream: boolean; // false
requestSerialize: grpc.serialize<Greeter_fbs.HelloRequest>;
requestDeserialize: grpc.deserialize<Greeter_fbs.HelloRequest>;
responseSerialize: grpc.serialize<Greeter_fbs.HelloReply>;
responseDeserialize: grpc.deserialize<Greeter_fbs.HelloReply>;
requestSerialize: grpc.serialize<models_HelloRequest>;
requestDeserialize: grpc.deserialize<models_HelloRequest>;
responseSerialize: grpc.serialize<models_HelloReply>;
responseDeserialize: grpc.deserialize<models_HelloReply>;
}
interface IGreeterService_ISayManyHellos extends grpc.MethodDefinition<Greeter_fbs.HelloRequest, Greeter_fbs.HelloReply> {
path: string; // /Greeter/SayManyHellos
interface IGreeterService_ISayManyHellos extends grpc.MethodDefinition<models_HelloRequest, models_HelloReply> {
path: string; // /models.Greeter/SayManyHellos
requestStream: boolean; // false
responseStream: boolean; // true
requestSerialize: grpc.serialize<Greeter_fbs.HelloRequest>;
requestDeserialize: grpc.deserialize<Greeter_fbs.HelloRequest>;
responseSerialize: grpc.serialize<Greeter_fbs.HelloReply>;
responseDeserialize: grpc.deserialize<Greeter_fbs.HelloReply>;
requestSerialize: grpc.serialize<models_HelloRequest>;
requestDeserialize: grpc.deserialize<models_HelloRequest>;
responseSerialize: grpc.serialize<models_HelloReply>;
responseDeserialize: grpc.deserialize<models_HelloReply>;
}
export const GreeterService: IGreeterService;
export interface IGreeterServer {
SayHello: grpc.handleUnaryCall<Greeter_fbs.HelloRequest, Greeter_fbs.HelloReply>;
SayManyHellos: grpc.handleServerStreamingCall<Greeter_fbs.HelloRequest, Greeter_fbs.HelloReply>;
SayHello: grpc.handleUnaryCall<models_HelloRequest, models_HelloReply>;
SayManyHellos: grpc.handleServerStreamingCall<models_HelloRequest, models_HelloReply>;
}
export interface IGreeterClient {
SayHello(request: Greeter_fbs.HelloRequest, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
SayHello(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
SayHello(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
SayManyHellos(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata): grpc.ClientReadableStream<Greeter_fbs.HelloReply>;
SayManyHellos(request: Greeter_fbs.HelloRequest, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<Greeter_fbs.HelloReply>;
SayHello(request: models_HelloRequest, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
SayHello(request: models_HelloRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
SayHello(request: models_HelloRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
SayManyHellos(request: models_HelloRequest, metadata: grpc.Metadata): grpc.ClientReadableStream<models_HelloReply>;
SayManyHellos(request: models_HelloRequest, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<models_HelloReply>;
}
export class GreeterClient extends grpc.Client implements IGreeterClient {
constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); public SayHello(request: Greeter_fbs.HelloRequest, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
public SayHello(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
public SayHello(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: Greeter_fbs.HelloReply) => void): grpc.ClientUnaryCall;
public SayManyHellos(request: Greeter_fbs.HelloRequest, metadata: grpc.Metadata): grpc.ClientReadableStream<Greeter_fbs.HelloReply>;
public SayManyHellos(request: Greeter_fbs.HelloRequest, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<Greeter_fbs.HelloReply>;
constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); public SayHello(request: models_HelloRequest, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
public SayHello(request: models_HelloRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
public SayHello(request: models_HelloRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: models_HelloReply) => void): grpc.ClientUnaryCall;
public SayManyHellos(request: models_HelloRequest, metadata: grpc.Metadata): grpc.ClientReadableStream<models_HelloReply>;
public SayManyHellos(request: models_HelloRequest, options: Partial<grpc.CallOptions>): grpc.ClientReadableStream<models_HelloReply>;
}

View File

@@ -1,55 +1,56 @@
// Generated GRPC code for FlatBuffers TS *** DO NOT EDIT ***
import { flatbuffers } from 'flatbuffers';
import * as Greeter_fbs from './greeter_generated';
import { HelloReply as models_HelloReply } from './models/hello-reply';
import { HelloRequest as models_HelloRequest } from './models/hello-request';
var grpc = require('grpc');
function serialize_HelloReply(buffer_args) {
if (!(buffer_args instanceof Greeter_fbs.HelloReply)) {
throw new Error('Expected argument of type Greeter_fbs.HelloReply');
function serialize_models_HelloReply(buffer_args) {
if (!(buffer_args instanceof models_HelloReply)) {
throw new Error('Expected argument of type HelloReply');
}
return buffer_args.serialize();
}
function deserialize_HelloReply(buffer) {
return Greeter_fbs.HelloReply.getRootAsHelloReply(new flatbuffers.ByteBuffer(buffer))
function deserialize_models_HelloReply(buffer) {
return models_HelloReply.getRootAsHelloReply(new flatbuffers.ByteBuffer(buffer))
}
function serialize_HelloRequest(buffer_args) {
if (!(buffer_args instanceof Greeter_fbs.HelloRequest)) {
throw new Error('Expected argument of type Greeter_fbs.HelloRequest');
function serialize_models_HelloRequest(buffer_args) {
if (!(buffer_args instanceof models_HelloRequest)) {
throw new Error('Expected argument of type HelloRequest');
}
return buffer_args.serialize();
}
function deserialize_HelloRequest(buffer) {
return Greeter_fbs.HelloRequest.getRootAsHelloRequest(new flatbuffers.ByteBuffer(buffer))
function deserialize_models_HelloRequest(buffer) {
return models_HelloRequest.getRootAsHelloRequest(new flatbuffers.ByteBuffer(buffer))
}
var GreeterService = exports.GreeterService = {
SayHello: {
path: '/Greeter/SayHello',
path: '/models.Greeter/SayHello',
requestStream: false,
responseStream: false,
requestType: flatbuffers.ByteBuffer,
responseType: Greeter_fbs.HelloReply,
requestSerialize: serialize_HelloRequest,
requestDeserialize: deserialize_HelloRequest,
responseSerialize: serialize_HelloReply,
responseDeserialize: deserialize_HelloReply,
responseType: models_HelloReply,
requestSerialize: serialize_models_HelloRequest,
requestDeserialize: deserialize_models_HelloRequest,
responseSerialize: serialize_models_HelloReply,
responseDeserialize: deserialize_models_HelloReply,
},
SayManyHellos: {
path: '/Greeter/SayManyHellos',
path: '/models.Greeter/SayManyHellos',
requestStream: false,
responseStream: true,
requestType: flatbuffers.ByteBuffer,
responseType: Greeter_fbs.HelloReply,
requestSerialize: serialize_HelloRequest,
requestDeserialize: deserialize_HelloRequest,
responseSerialize: serialize_HelloReply,
responseDeserialize: deserialize_HelloReply,
responseType: models_HelloReply,
requestSerialize: serialize_models_HelloRequest,
requestDeserialize: deserialize_models_HelloRequest,
responseSerialize: serialize_models_HelloReply,
responseDeserialize: deserialize_models_HelloReply,
},
};
exports.GreeterClient = grpc.makeGenericClientConstructor(GreeterService);

View File

@@ -0,0 +1,58 @@
// automatically generated by the FlatBuffers compiler, do not modify
import * as flatbuffers from 'flatbuffers';
export class HelloReply {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):HelloReply {
this.bb_pos = i;
this.bb = bb;
return this;
}
static getRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?:HelloReply):HelloReply {
return (obj || new HelloReply()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
static getSizePrefixedRootAsHelloReply(bb:flatbuffers.ByteBuffer, obj?:HelloReply):HelloReply {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new HelloReply()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
message():string|null
message(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
message(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}
static startHelloReply(builder:flatbuffers.Builder) {
builder.startObject(1);
}
static addMessage(builder:flatbuffers.Builder, messageOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, messageOffset, 0);
}
static endHelloReply(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}
static createHelloReply(builder:flatbuffers.Builder, messageOffset:flatbuffers.Offset):flatbuffers.Offset {
HelloReply.startHelloReply(builder);
HelloReply.addMessage(builder, messageOffset);
return HelloReply.endHelloReply(builder);
}
serialize():Uint8Array {
return this.bb!.bytes();
}
static deserialize(buffer: Uint8Array):HelloReply {
return HelloReply.getRootAsHelloReply(new flatbuffers.ByteBuffer(buffer))
}
}

View File

@@ -0,0 +1,58 @@
// automatically generated by the FlatBuffers compiler, do not modify
import * as flatbuffers from 'flatbuffers';
export class HelloRequest {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):HelloRequest {
this.bb_pos = i;
this.bb = bb;
return this;
}
static getRootAsHelloRequest(bb:flatbuffers.ByteBuffer, obj?:HelloRequest):HelloRequest {
return (obj || new HelloRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
static getSizePrefixedRootAsHelloRequest(bb:flatbuffers.ByteBuffer, obj?:HelloRequest):HelloRequest {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new HelloRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
name():string|null
name(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
name(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}
static startHelloRequest(builder:flatbuffers.Builder) {
builder.startObject(1);
}
static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, nameOffset, 0);
}
static endHelloRequest(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}
static createHelloRequest(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset):flatbuffers.Offset {
HelloRequest.startHelloRequest(builder);
HelloRequest.addName(builder, nameOffset);
return HelloRequest.endHelloRequest(builder);
}
serialize():Uint8Array {
return this.bb!.bytes();
}
static deserialize(buffer: Uint8Array):HelloRequest {
return HelloRequest.getRootAsHelloRequest(new flatbuffers.ByteBuffer(buffer))
}
}

View File

@@ -1,12 +1,13 @@
import grpc from 'grpc';
import { HelloReply, HelloRequest } from './greeter_generated';
import { HelloReply } from './models/hello-reply';
import { HelloRequest } from './models/hello-request';
import { IGreeterServer, GreeterService } from './greeter_grpc';
import { flatbuffers } from 'flatbuffers';
class GreeterServer implements IGreeterServer {
SayHello(call: grpc.ServerUnaryCall<HelloRequest>, callback: grpc.sendUnaryData<HelloReply>): void {
console.log(`${call.request.name()}`);
console.log(`SayHello ${call.request.name()}`);
const builder = new flatbuffers.Builder();
const offset = builder.createString(`welcome ${call.request.name()}`);
const root = HelloReply.createHelloReply(builder, offset);