Skip to content
Snippets Groups Projects
Commit e3338af3 authored by Pablo Armingol's avatar Pablo Armingol
Browse files

intento de arreglo

parent c280f7fe
No related branches found
No related tags found
2 merge requests!235Release TeraFlowSDN 3.0,!151Resolve "(TID) New BGP-LS Speaker component"
Showing with 14025 additions and 36 deletions
This diff is collapsed.
This diff is collapsed.
......@@ -12,39 +12,59 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Download Git repo
#
# FROM alpine/git:latest AS repo
# RUN mkdir -p protocols/
# WORKDIR /protocols
# RUN git clone https://github.com/telefonicaid/netphony-network-protocols.git
#
# Maven install stage
#
# ----------------------------------------------
FROM maven:3.6.0-jdk-11-slim AS build
FROM alpine/git:latest AS repo
WORKDIR /usr/src/app
RUN git clone https://github.com/telefonicaid/netphony-network-protocols.git .
FROM maven:3.8.8-eclipse-temurin-17 AS build
# RUN mkdir -p /var/teraflow/java_speaker/
# WORKDIR /var/teraflow/java_speaker
# RUN mkdir -p protocols/
# COPY ../netphony-network-protocols/src protocols/src
# COPY ../netphony-network-protocols/pom.xml protocols/pom.xml
# RUN mvn dependency:resolve
# RUN mvn clean verify
RUN mkdir -p protocols/
COPY --from=repo /protocols/netphony-network-protocols /protocols/
WORKDIR /protocols
RUN mvn clean install
# WORKDIR /var/teraflow/java_speaker/protocols
# RUN mvn clean install
COPY --from=repo /usr/src/app/* /protocols/
WORKDIR /protocols/
RUN mkdir -p /var/teraflow/java_speaker
WORKDIR /var/teraflow/java_speaker
# RUN mvn package -X
COPY src/bgpls_speaker/service/resources/java/netphony-topology-dev/ src/
COPY src/bgpls_speaker/service/resources/java/netphony-topology-dev/pom.xml pom.xml
COPY src/bgpls_speaker/service/resources/java/netphony-topology-dev/target/generated-sources/ src/target/generated-sources/
# RUN mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file \
# -Dfile=/protocols/target/network-protocols-1.1-SNAPSHOT.jar \
# -DgroupId=es.tid.netphony -DartifactId=network-protocols \
# -Dversion=1.1-SNAPSHOT-Dpackaging=jar \
# -DlocalRepositoryPath=/
RUN mvn clean install -X
WORKDIR /
RUN mkdir -p /var/teraflow/bgpls
WORKDIR /var/teraflow/bgpls
# RUN mvn package -X -DskipTests -U <--- bgp-ls-speaker-jar-with-dependencies.jar
# COPY . /var/teraflow/bgpls/
COPY src/bgpls_speaker/service/java/netphony-topology/ /var/teraflow/bgpls/service/java/netphony-topology/
COPY src/bgpls_speaker/service/java/netphony-topology/pom.xml pom.xml
WORKDIR /var/teraflow/bgpls/service/java/netphony-topology/
RUN mvn package -X -DskipTests
# ENTRYPOINT [ "ls","-R" ]
# -------------------------------------------
# jar created in /netphony-topology-dev/target/bgp-ls-speaker-jar-with-dependencies.jar
# jar created in /netphony-topology/target/bgp-ls-speaker-jar-with-dependencies.jar
#
# Stage 2
......@@ -52,6 +72,7 @@ COPY src/bgpls_speaker/service/resources/java/netphony-topology-dev/target/gener
FROM python:3.9-slim
# Install dependencies
RUN apt-get --yes --quiet --quiet update && \
apt-get --yes --quiet --quiet install wget g++ && \
......@@ -72,11 +93,9 @@ RUN python3 -m pip install --upgrade pip-tools
# Install OpenJDK-11
RUN apt-get update && \
apt-get install -y openjdk-17-jre-headless && \
apt-get install -y openjdk-17-jre && \
apt-get clean;
# COPY --from=build /var/teraflow/java_speaker/target/topology-1.4.0-SNAPSHOT.jar /var/teraflow/java_speaker/
# Get common Python packages
# Note: this step enables sharing the previous Docker build steps among all the Python components
WORKDIR /var/teraflow
......@@ -108,7 +127,8 @@ RUN python3 -m pip install -r requirements.txt
# Java module necessary config files
WORKDIR /var/teraflow/bgpls_speaker
RUN mkdir -p /java
COPY src/bgpls_speaker/service/java/* /java/
COPY src/bgpls_speaker/service/java/* /java/
COPY --from=build /var/teraflow/bgpls/service/java/netphony-topology/target/topology-1.4.0-SNAPSHOT.jar /var/teraflow/bgpls_speaker/bgp_ls.jar
# Add component files into working directory
WORKDIR /var/teraflow
......@@ -120,3 +140,4 @@ COPY src/bgpls_speaker/. bgpls_speaker/
# Start the service
ENTRYPOINT ["python", "-m", "bgpls_speaker.service"]
# ENTRYPOINT [ "ls","-R" ]
\ No newline at end of file
# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Maven install stage
#
# ----------------------------------------------
FROM alpine/git:latest AS repo
WORKDIR /usr/src/app
RUN git clone https://github.com/telefonicaid/netphony-network-protocols.git .
FROM eclipse-temurin:17-jdk-focal
RUN apt-get update \
&& apt-get install -y ca-certificates curl git --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
# common for all images
ENV MAVEN_HOME /usr/share/maven
COPY --from=maven:3.8.8-eclipse-temurin-11 ${MAVEN_HOME} ${MAVEN_HOME}
COPY --from=maven:3.8.8-eclipse-temurin-11 /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh
COPY --from=maven:3.8.8-eclipse-temurin-11 /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml
RUN ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn
ARG MAVEN_VERSION=3.8.8
ARG USER_HOME_DIR="/root"
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
COPY --from=repo /usr/src/app/* /protocols/
WORKDIR /protocols/
# RUN mvn package -X
# RUN mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file \
# -Dfile=/protocols/target/network-protocols-1.1-SNAPSHOT.jar \
# -DgroupId=es.tid.netphony -DartifactId=network-protocols \
# -Dversion=1.1-SNAPSHOT-Dpackaging=jar \
# -DlocalRepositoryPath=/
RUN mvn clean install -X
WORKDIR /
RUN mkdir -p /var/teraflow/bgpls
WORKDIR /var/teraflow/bgpls
# COPY . /var/teraflow/bgpls/
COPY src/bgpls_speaker/service/java/netphony-topology/ /var/teraflow/bgpls/service/java/netphony-topology/
COPY src/bgpls_speaker/service/java/netphony-topology/pom.xml pom.xml
WORKDIR /var/teraflow/bgpls/service/java/netphony-topology/
RUN mvn package -X -DskipTests
# ENTRYPOINT [ "ls","-R" ]
# -------------------------------------------
# jar created in /netphony-topology/target/bgp-ls-speaker-jar-with-dependencies.jar
#
# Stage 2
#
FROM python:3.9-slim
# Install dependencies
RUN apt-get --yes --quiet --quiet update && \
apt-get --yes --quiet --quiet install wget g++ && \
rm -rf /var/lib/apt/lists/*
# Set Python to show logs as they occur
ENV PYTHONUNBUFFERED=0
# Download the gRPC health probe
RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
chmod +x /bin/grpc_health_probe
# Get generic Python packages
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools wheel
RUN python3 -m pip install --upgrade pip-tools
# Install OpenJDK-11
RUN apt-get update && \
apt-get install -y openjdk-17-jre && \
apt-get clean;
# Get common Python packages
# Note: this step enables sharing the previous Docker build steps among all the Python components
WORKDIR /var/teraflow
COPY common_requirements.in common_requirements.in
RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in
RUN python3 -m pip install -r common_requirements.txt
# Add common files into working directory
WORKDIR /var/teraflow/common
COPY src/common/. ./
RUN rm -rf proto
# Create proto sub-folder, copy .proto files, and generate Python code
RUN mkdir -p /var/teraflow/common/proto
WORKDIR /var/teraflow/common/proto
RUN touch __init__.py
COPY proto/*.proto ./
RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto
RUN rm *.proto
RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \;
# Create component sub-folders, get specific Python packages
RUN mkdir -p /var/teraflow/bgpls_speaker
WORKDIR /var/teraflow/bgpls_speaker
COPY src/bgpls_speaker/requirements.in requirements.in
RUN pip-compile --quiet --output-file=requirements.txt requirements.in
RUN python3 -m pip install -r requirements.txt
# Java module necessary config files
WORKDIR /var/teraflow/bgpls_speaker
RUN mkdir -p /java
COPY src/bgpls_speaker/service/java/* /java/
COPY --from=build /var/teraflow/bgpls/service/java/netphony-topology/target/topology-1.4.0-SNAPSHOT.jar /var/teraflow/bgpls_speaker/bgp_ls.jar
# Add component files into working directory
WORKDIR /var/teraflow
COPY src/context/. context/
COPY src/device/. device/
COPY src/pathcomp/frontend/. pathcomp/frontend/
COPY src/service/. service/
COPY src/bgpls_speaker/. bgpls_speaker/
# Start the service
ENTRYPOINT ["python", "-m", "bgpls_speaker.service"]
# ENTRYPOINT [ "ls","-R" ]
\ No newline at end of file
......@@ -27,7 +27,7 @@ export TFS_REGISTRY_IMAGES=${TFS_REGISTRY_IMAGES:-"http://localhost:32000/tfs/"}
# If not already set, set the list of components, separated by spaces, you want to build images for, and deploy.
# By default, only basic components are deployed
export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device automation monitoring pathcomp service slice compute webui load_generator"}
export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice nbi webui load_generator bgpls_speaker"}
# If not already set, set the tag you want to use for your images.
export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"}
......@@ -47,7 +47,7 @@ export TFS_SKIP_BUILD=${TFS_SKIP_BUILD:-"YES"}
# If TFS_SKIP_BUILD is "YES", select the containers to be build
# Any other container will use previous docker images
export TFS_QUICK_COMPONENTS="compute"
export TFS_QUICK_COMPONENTS="bgpls_speaker"
# ----- CockroachDB ------------------------------------------------------------
......
......@@ -37,7 +37,7 @@
<dependency>
<groupId>es.tid.netphony</groupId>
<artifactId>network-protocols</artifactId>
<version>1.4.1-SNAPSHOT</version>
<version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
......@@ -189,10 +189,10 @@
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
......
......@@ -95,10 +95,10 @@ public class LinkNLRIMsg {
iPv4RouterIDNeighborNodeLATLV = linkNLRI.getIpv4NeighborAddressTLV().getIpv4Address();
}
if (linkNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID() != 0) {// alguna condicion?
localBgplsID = linkNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID_str();
localBgplsID = Integer.toString(linkNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID());
}
if (linkNLRI.getRemoteNodeDescriptorsTLV().getIGPRouterID().getISIS_ISO_NODE_ID() != 0) {// alguna condicion?
remoteBgplsID = linkNLRI.getRemoteNodeDescriptorsTLV().getIGPRouterID().getISIS_ISO_NODE_ID_str();
remoteBgplsID = Integer.toString(linkNLRI.getRemoteNodeDescriptorsTLV().getIGPRouterID().getISIS_ISO_NODE_ID());
}
}
......
......@@ -60,8 +60,8 @@ public class NodeNLRIMsg {
if (nodeNLRI.getLocalNodeDescriptors().getBGPLSIDSubTLV() != null) {
setBgplsID(nodeNLRI.getLocalNodeDescriptors().getBGPLSIDSubTLV().getBGPLS_ID());
}
if (nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID_str() != null) {
ISIS_ID_str = nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID_str();
if (nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID() != 0) {
ISIS_ID_str = Integer.toString(nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID());
}
if (nodeNLRI.getLocalNodeDescriptors().getIGPRouterID() != null) {
......@@ -77,7 +77,7 @@ public class NodeNLRIMsg {
}
if (nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID() != 0) {// alguna condicion?
localBgplsID = nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID_str();
localBgplsID = Integer.toString(nodeNLRI.getLocalNodeDescriptors().getIGPRouterID().getISIS_ISO_NODE_ID());
}
if (nodeNLRI.getLocalNodeDescriptors().getBGPLSIDSubTLV() != null) {
......
package src.main.proto;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
/**
* <pre>
* Defining a Service, a Service can have multiple RPC operations
* </pre>
*/
@javax.annotation.Generated(
value = "by gRPC proto compiler (version 1.24.0)",
comments = "Source: grpcService.proto")
public final class updateServiceGrpc {
private updateServiceGrpc() {}
public static final String SERVICE_NAME = "src.main.proto.updateService";
// Static method descriptors that strictly reflect the proto.
private static volatile io.grpc.MethodDescriptor<src.main.proto.GrpcService.updateRequest,
src.main.proto.GrpcService.updateResponse> getUpdateMethod;
@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "update",
requestType = src.main.proto.GrpcService.updateRequest.class,
responseType = src.main.proto.GrpcService.updateResponse.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<src.main.proto.GrpcService.updateRequest,
src.main.proto.GrpcService.updateResponse> getUpdateMethod() {
io.grpc.MethodDescriptor<src.main.proto.GrpcService.updateRequest, src.main.proto.GrpcService.updateResponse> getUpdateMethod;
if ((getUpdateMethod = updateServiceGrpc.getUpdateMethod) == null) {
synchronized (updateServiceGrpc.class) {
if ((getUpdateMethod = updateServiceGrpc.getUpdateMethod) == null) {
updateServiceGrpc.getUpdateMethod = getUpdateMethod =
io.grpc.MethodDescriptor.<src.main.proto.GrpcService.updateRequest, src.main.proto.GrpcService.updateResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(SERVICE_NAME, "update"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
src.main.proto.GrpcService.updateRequest.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
src.main.proto.GrpcService.updateResponse.getDefaultInstance()))
.setSchemaDescriptor(new updateServiceMethodDescriptorSupplier("update"))
.build();
}
}
}
return getUpdateMethod;
}
/**
* Creates a new async stub that supports all call types for the service
*/
public static updateServiceStub newStub(io.grpc.Channel channel) {
return new updateServiceStub(channel);
}
/**
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
*/
public static updateServiceBlockingStub newBlockingStub(
io.grpc.Channel channel) {
return new updateServiceBlockingStub(channel);
}
/**
* Creates a new ListenableFuture-style stub that supports unary calls on the service
*/
public static updateServiceFutureStub newFutureStub(
io.grpc.Channel channel) {
return new updateServiceFutureStub(channel);
}
/**
* <pre>
* Defining a Service, a Service can have multiple RPC operations
* </pre>
*/
public static abstract class updateServiceImplBase implements io.grpc.BindableService {
/**
* <pre>
* MODIFY HERE: Update the return to streaming return.
* </pre>
*/
public void update(src.main.proto.GrpcService.updateRequest request,
io.grpc.stub.StreamObserver<src.main.proto.GrpcService.updateResponse> responseObserver) {
asyncUnimplementedUnaryCall(getUpdateMethod(), responseObserver);
}
@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
getUpdateMethod(),
asyncUnaryCall(
new MethodHandlers<
src.main.proto.GrpcService.updateRequest,
src.main.proto.GrpcService.updateResponse>(
this, METHODID_UPDATE)))
.build();
}
}
/**
* <pre>
* Defining a Service, a Service can have multiple RPC operations
* </pre>
*/
public static final class updateServiceStub extends io.grpc.stub.AbstractStub<updateServiceStub> {
private updateServiceStub(io.grpc.Channel channel) {
super(channel);
}
private updateServiceStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected updateServiceStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new updateServiceStub(channel, callOptions);
}
/**
* <pre>
* MODIFY HERE: Update the return to streaming return.
* </pre>
*/
public void update(src.main.proto.GrpcService.updateRequest request,
io.grpc.stub.StreamObserver<src.main.proto.GrpcService.updateResponse> responseObserver) {
asyncUnaryCall(
getChannel().newCall(getUpdateMethod(), getCallOptions()), request, responseObserver);
}
}
/**
* <pre>
* Defining a Service, a Service can have multiple RPC operations
* </pre>
*/
public static final class updateServiceBlockingStub extends io.grpc.stub.AbstractStub<updateServiceBlockingStub> {
private updateServiceBlockingStub(io.grpc.Channel channel) {
super(channel);
}
private updateServiceBlockingStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected updateServiceBlockingStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new updateServiceBlockingStub(channel, callOptions);
}
/**
* <pre>
* MODIFY HERE: Update the return to streaming return.
* </pre>
*/
public src.main.proto.GrpcService.updateResponse update(src.main.proto.GrpcService.updateRequest request) {
return blockingUnaryCall(
getChannel(), getUpdateMethod(), getCallOptions(), request);
}
}
/**
* <pre>
* Defining a Service, a Service can have multiple RPC operations
* </pre>
*/
public static final class updateServiceFutureStub extends io.grpc.stub.AbstractStub<updateServiceFutureStub> {
private updateServiceFutureStub(io.grpc.Channel channel) {
super(channel);
}
private updateServiceFutureStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected updateServiceFutureStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new updateServiceFutureStub(channel, callOptions);
}
/**
* <pre>
* MODIFY HERE: Update the return to streaming return.
* </pre>
*/
public com.google.common.util.concurrent.ListenableFuture<src.main.proto.GrpcService.updateResponse> update(
src.main.proto.GrpcService.updateRequest request) {
return futureUnaryCall(
getChannel().newCall(getUpdateMethod(), getCallOptions()), request);
}
}
private static final int METHODID_UPDATE = 0;
private static final class MethodHandlers<Req, Resp> implements
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
private final updateServiceImplBase serviceImpl;
private final int methodId;
MethodHandlers(updateServiceImplBase serviceImpl, int methodId) {
this.serviceImpl = serviceImpl;
this.methodId = methodId;
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
case METHODID_UPDATE:
serviceImpl.update((src.main.proto.GrpcService.updateRequest) request,
(io.grpc.stub.StreamObserver<src.main.proto.GrpcService.updateResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public io.grpc.stub.StreamObserver<Req> invoke(
io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
default:
throw new AssertionError();
}
}
}
private static abstract class updateServiceBaseDescriptorSupplier
implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
updateServiceBaseDescriptorSupplier() {}
@java.lang.Override
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
return src.main.proto.GrpcService.getDescriptor();
}
@java.lang.Override
public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
return getFileDescriptor().findServiceByName("updateService");
}
}
private static final class updateServiceFileDescriptorSupplier
extends updateServiceBaseDescriptorSupplier {
updateServiceFileDescriptorSupplier() {}
}
private static final class updateServiceMethodDescriptorSupplier
extends updateServiceBaseDescriptorSupplier
implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
private final String methodName;
updateServiceMethodDescriptorSupplier(String methodName) {
this.methodName = methodName;
}
@java.lang.Override
public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
return getServiceDescriptor().findMethodByName(methodName);
}
}
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
io.grpc.ServiceDescriptor result = serviceDescriptor;
if (result == null) {
synchronized (updateServiceGrpc.class) {
result = serviceDescriptor;
if (result == null) {
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
.setSchemaDescriptor(new updateServiceFileDescriptorSupplier())
.addMethod(getUpdateMethod())
.build();
}
}
}
return result;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment