diff --git a/proto/server_car/connect.proto b/proto/server_car/connect.proto index 02b1b50d87e..f6d74881f30 100644 --- a/proto/server_car/connect.proto +++ b/proto/server_car/connect.proto @@ -1,13 +1,14 @@ +syntax = "proto3"; package carkot; -option java_package = "carkot"; -option java_out_classname = "CarConnect"; +option java_package = "proto.car"; +option java_outer_classname = "ConnectP"; -message request { +message ConnectionRequest { string ip = 1; int32 port = 2; } -message response { +message ConnectionResponse { string uid = 1; } diff --git a/proto/server_car/location.proto b/proto/server_car/location.proto index 144acc99c77..f833375525c 100644 --- a/proto/server_car/location.proto +++ b/proto/server_car/location.proto @@ -1,9 +1,10 @@ +syntax = "proto3"; package carkot; -option java_package = "carkot"; -option java_out_classname = "Location"; +option java_package = "proto.car"; +option java_outer_classname = "LocationP"; -message location { +message Location { double x = 1; double y = 2; double angle = 3; diff --git a/proto/server_car/route.proto b/proto/server_car/route.proto index 3fe8b66b1df..8f9fbd517ed 100644 --- a/proto/server_car/route.proto +++ b/proto/server_car/route.proto @@ -1,7 +1,8 @@ +syntax = "proto3"; package carkot; -option java_package = "carkot"; -option java_out_classname = "Route"; +option java_package = "proto.car"; +option java_outer_classname = "RouteP"; message Route { repeated WayPoint way_points = 1; diff --git a/proto/server_car/routeDone.proto b/proto/server_car/routeDone.proto new file mode 100644 index 00000000000..59e6c77e534 --- /dev/null +++ b/proto/server_car/routeDone.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package carkot; + +option java_package = "proto.car"; +option java_outer_classname = "RouteDoneP"; + +message RouteDone { + string uid = 1; +} diff --git a/server/.idea/libraries/protobuf_java_3_0_0_beta_3.xml b/server/.idea/libraries/protobuf_java_3_0_0_beta_3.xml new file mode 100644 index 00000000000..e211d4302d6 --- /dev/null +++ b/server/.idea/libraries/protobuf_java_3_0_0_beta_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/server/carEmulator/carEmulator.iml b/server/carEmulator/carEmulator.iml index 245d3429faa..dc2bad21409 100644 --- a/server/carEmulator/carEmulator.iml +++ b/server/carEmulator/carEmulator.iml @@ -8,5 +8,6 @@ + \ No newline at end of file diff --git a/server/lib/protobuf-java-3.0.0-beta-3.jar b/server/lib/protobuf-java-3.0.0-beta-3.jar new file mode 100644 index 00000000000..a41f7b27d38 Binary files /dev/null and b/server/lib/protobuf-java-3.0.0-beta-3.jar differ diff --git a/server/server.iml b/server/server.iml index dc2bad21409..4bbe504b39f 100644 --- a/server/server.iml +++ b/server/server.iml @@ -8,6 +8,7 @@ + \ No newline at end of file diff --git a/server/src/Main.kt b/server/src/Main.kt index 231a438eb33..274507a2f4d 100644 --- a/server/src/Main.kt +++ b/server/src/Main.kt @@ -1,14 +1,23 @@ -import Server.Server +import server.Server +import java.awt.Robot +import java.util.* +import kotlin.concurrent.thread +import kotlin.jvm.internal.iterator /** * Created by user on 7/6/16. */ -val port:Int = 7925; +//хардкод это плохо, но пока так...:) +val port:Int = 7925 +val handlerThreadsCount:Int = 100 +val getLocationUrl = "getLocation" +val routeDoneUrl = "routeDone" +val setRouteUrl = "route" +val connectUrl = "connect" fun main(args: Array) { println("server started") - val server = Server(port) - val serverThread = Thread(server); - serverThread.start() + val server = Server(port, handlerThreadsCount) + val serverThread = thread{server.run()} } \ No newline at end of file diff --git a/server/src/Server/ServerHandler.kt b/server/src/Server/ServerHandler.kt deleted file mode 100644 index aa97ad6398d..00000000000 --- a/server/src/Server/ServerHandler.kt +++ /dev/null @@ -1,50 +0,0 @@ -package Server - -import io.netty.channel.ChannelHandlerContext -import io.netty.channel.SimpleChannelInboundHandler -import io.netty.handler.codec.http.* -import io.netty.util.CharsetUtil -import java.io.File -import java.text.SimpleDateFormat -import java.util.* - -/** - * Created by user on 7/6/16. - */ -class ServerHandler : SimpleChannelInboundHandler() { - - val sb: StringBuilder = StringBuilder(); - - object static { - val stf = SimpleDateFormat("HH-mm-ss"); - } - - override fun channelReadComplete(ctx: ChannelHandlerContext) { - - val dateTime = ServerHandler.static.stf.format(Date(System.currentTimeMillis())) - val fileName: String = "request_$dateTime.log"; - val response = DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK) - response.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes()) - ctx.writeAndFlush(response) - writeToFile(sb.toString(), fileName); - } - - - override fun channelRead0(ctx: ChannelHandlerContext, msg: Any) { - if (msg is HttpRequest) { - sb.append("" + msg.method() + " " + msg.protocolVersion() + "\n") - for (header in msg.headers()) { - sb.append(header.key + ":" + header.value + "\n") - } - } - if (msg is DefaultHttpContent) { - sb.append(msg.content().toString(CharsetUtil.UTF_8)) - } - } - - fun writeToFile(toFile: String, fileName: String) { - val f = File(fileName) - if (!f.exists()) f.createNewFile() - f.writeText(toFile); - } -} \ No newline at end of file diff --git a/server/src/objects/Car.kt b/server/src/objects/Car.kt new file mode 100644 index 00000000000..94abc87fd2e --- /dev/null +++ b/server/src/objects/Car.kt @@ -0,0 +1,21 @@ +package objects + +/** + * Created by user on 7/7/16. + */ +class Car constructor(id: String, host: String, port: Int) { + + private val id: String + private val host: String + private val port: Int + + var free:Boolean + + init { + this.id = id + this.host = host + this.port = port + this.free = true + } + +} \ No newline at end of file diff --git a/server/src/objects/Environment.kt b/server/src/objects/Environment.kt new file mode 100644 index 00000000000..99b171fd2be --- /dev/null +++ b/server/src/objects/Environment.kt @@ -0,0 +1,20 @@ +package objects + +/** + * Created by user on 7/7/16. + */ +class Environment private constructor() { + + val map: MutableMap + + companion object { + + val instance = Environment() + } + + init { + map = mutableMapOf(); + } + + +} diff --git a/server/src/proto/car/ConnectP.java b/server/src/proto/car/ConnectP.java new file mode 100644 index 00000000000..f4b42e29bbb --- /dev/null +++ b/server/src/proto/car/ConnectP.java @@ -0,0 +1,1013 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: connect.proto + +package proto.car; + +public final class ConnectP { + private ConnectP() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface ConnectionRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.ConnectionRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * optional string ip = 1; + */ + java.lang.String getIp(); + /** + * optional string ip = 1; + */ + com.google.protobuf.ByteString + getIpBytes(); + + /** + * optional int32 port = 2; + */ + int getPort(); + } + /** + * Protobuf type {@code carkot.ConnectionRequest} + */ + public static final class ConnectionRequest extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.ConnectionRequest) + ConnectionRequestOrBuilder { + // Use ConnectionRequest.newBuilder() to construct. + private ConnectionRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ConnectionRequest() { + ip_ = ""; + port_ = 0; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private ConnectionRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + ip_ = s; + break; + } + case 16: { + + port_ = input.readInt32(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.ConnectP.internal_static_carkot_ConnectionRequest_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.ConnectP.internal_static_carkot_ConnectionRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.ConnectP.ConnectionRequest.class, proto.car.ConnectP.ConnectionRequest.Builder.class); + } + + public static final int IP_FIELD_NUMBER = 1; + private volatile java.lang.Object ip_; + /** + * optional string ip = 1; + */ + public java.lang.String getIp() { + java.lang.Object ref = ip_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ip_ = s; + return s; + } + } + /** + * optional string ip = 1; + */ + public com.google.protobuf.ByteString + getIpBytes() { + java.lang.Object ref = ip_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ip_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PORT_FIELD_NUMBER = 2; + private int port_; + /** + * optional int32 port = 2; + */ + public int getPort() { + return port_; + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getIpBytes().isEmpty()) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, ip_); + } + if (port_ != 0) { + output.writeInt32(2, port_); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getIpBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, ip_); + } + if (port_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, port_); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.ConnectP.ConnectionRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.ConnectP.ConnectionRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.ConnectionRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.ConnectionRequest) + proto.car.ConnectP.ConnectionRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.ConnectP.internal_static_carkot_ConnectionRequest_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.ConnectP.internal_static_carkot_ConnectionRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.ConnectP.ConnectionRequest.class, proto.car.ConnectP.ConnectionRequest.Builder.class); + } + + // Construct using proto.car.ConnectP.ConnectionRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + ip_ = ""; + + port_ = 0; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.ConnectP.internal_static_carkot_ConnectionRequest_descriptor; + } + + public proto.car.ConnectP.ConnectionRequest getDefaultInstanceForType() { + return proto.car.ConnectP.ConnectionRequest.getDefaultInstance(); + } + + public proto.car.ConnectP.ConnectionRequest build() { + proto.car.ConnectP.ConnectionRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.ConnectP.ConnectionRequest buildPartial() { + proto.car.ConnectP.ConnectionRequest result = new proto.car.ConnectP.ConnectionRequest(this); + result.ip_ = ip_; + result.port_ = port_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.ConnectP.ConnectionRequest) { + return mergeFrom((proto.car.ConnectP.ConnectionRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.ConnectP.ConnectionRequest other) { + if (other == proto.car.ConnectP.ConnectionRequest.getDefaultInstance()) return this; + if (!other.getIp().isEmpty()) { + ip_ = other.ip_; + onChanged(); + } + if (other.getPort() != 0) { + setPort(other.getPort()); + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.ConnectP.ConnectionRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.ConnectP.ConnectionRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object ip_ = ""; + /** + * optional string ip = 1; + */ + public java.lang.String getIp() { + java.lang.Object ref = ip_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ip_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string ip = 1; + */ + public com.google.protobuf.ByteString + getIpBytes() { + java.lang.Object ref = ip_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ip_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string ip = 1; + */ + public Builder setIp( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + ip_ = value; + onChanged(); + return this; + } + /** + * optional string ip = 1; + */ + public Builder clearIp() { + + ip_ = getDefaultInstance().getIp(); + onChanged(); + return this; + } + /** + * optional string ip = 1; + */ + public Builder setIpBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + ip_ = value; + onChanged(); + return this; + } + + private int port_ ; + /** + * optional int32 port = 2; + */ + public int getPort() { + return port_; + } + /** + * optional int32 port = 2; + */ + public Builder setPort(int value) { + + port_ = value; + onChanged(); + return this; + } + /** + * optional int32 port = 2; + */ + public Builder clearPort() { + + port_ = 0; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.ConnectionRequest) + } + + // @@protoc_insertion_point(class_scope:carkot.ConnectionRequest) + private static final proto.car.ConnectP.ConnectionRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.ConnectP.ConnectionRequest(); + } + + public static proto.car.ConnectP.ConnectionRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public ConnectionRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.ConnectP.ConnectionRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.ConnectionResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * optional string uid = 1; + */ + java.lang.String getUid(); + /** + * optional string uid = 1; + */ + com.google.protobuf.ByteString + getUidBytes(); + } + /** + * Protobuf type {@code carkot.ConnectionResponse} + */ + public static final class ConnectionResponse extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.ConnectionResponse) + ConnectionResponseOrBuilder { + // Use ConnectionResponse.newBuilder() to construct. + private ConnectionResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ConnectionResponse() { + uid_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private ConnectionResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + uid_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.ConnectP.internal_static_carkot_ConnectionResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.ConnectP.internal_static_carkot_ConnectionResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.ConnectP.ConnectionResponse.class, proto.car.ConnectP.ConnectionResponse.Builder.class); + } + + public static final int UID_FIELD_NUMBER = 1; + private volatile java.lang.Object uid_; + /** + * optional string uid = 1; + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } + } + /** + * optional string uid = 1; + */ + public com.google.protobuf.ByteString + getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getUidBytes().isEmpty()) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, uid_); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getUidBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, uid_); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.ConnectP.ConnectionResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.ConnectP.ConnectionResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.ConnectP.ConnectionResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.ConnectionResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.ConnectionResponse) + proto.car.ConnectP.ConnectionResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.ConnectP.internal_static_carkot_ConnectionResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.ConnectP.internal_static_carkot_ConnectionResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.ConnectP.ConnectionResponse.class, proto.car.ConnectP.ConnectionResponse.Builder.class); + } + + // Construct using proto.car.ConnectP.ConnectionResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + uid_ = ""; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.ConnectP.internal_static_carkot_ConnectionResponse_descriptor; + } + + public proto.car.ConnectP.ConnectionResponse getDefaultInstanceForType() { + return proto.car.ConnectP.ConnectionResponse.getDefaultInstance(); + } + + public proto.car.ConnectP.ConnectionResponse build() { + proto.car.ConnectP.ConnectionResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.ConnectP.ConnectionResponse buildPartial() { + proto.car.ConnectP.ConnectionResponse result = new proto.car.ConnectP.ConnectionResponse(this); + result.uid_ = uid_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.ConnectP.ConnectionResponse) { + return mergeFrom((proto.car.ConnectP.ConnectionResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.ConnectP.ConnectionResponse other) { + if (other == proto.car.ConnectP.ConnectionResponse.getDefaultInstance()) return this; + if (!other.getUid().isEmpty()) { + uid_ = other.uid_; + onChanged(); + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.ConnectP.ConnectionResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.ConnectP.ConnectionResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object uid_ = ""; + /** + * optional string uid = 1; + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string uid = 1; + */ + public com.google.protobuf.ByteString + getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string uid = 1; + */ + public Builder setUid( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + uid_ = value; + onChanged(); + return this; + } + /** + * optional string uid = 1; + */ + public Builder clearUid() { + + uid_ = getDefaultInstance().getUid(); + onChanged(); + return this; + } + /** + * optional string uid = 1; + */ + public Builder setUidBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + uid_ = value; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.ConnectionResponse) + } + + // @@protoc_insertion_point(class_scope:carkot.ConnectionResponse) + private static final proto.car.ConnectP.ConnectionResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.ConnectP.ConnectionResponse(); + } + + public static proto.car.ConnectP.ConnectionResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public ConnectionResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.ConnectP.ConnectionResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_ConnectionRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_ConnectionRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_ConnectionResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_ConnectionResponse_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\rconnect.proto\022\006carkot\"-\n\021ConnectionReq" + + "uest\022\n\n\002ip\030\001 \001(\t\022\014\n\004port\030\002 \001(\005\"!\n\022Connec" + + "tionResponse\022\013\n\003uid\030\001 \001(\tB\025\n\tproto.carB\010" + + "ConnectPb\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_carkot_ConnectionRequest_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_carkot_ConnectionRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_ConnectionRequest_descriptor, + new java.lang.String[] { "Ip", "Port", }); + internal_static_carkot_ConnectionResponse_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_carkot_ConnectionResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_ConnectionResponse_descriptor, + new java.lang.String[] { "Uid", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/server/src/proto/car/LocationP.java b/server/src/proto/car/LocationP.java new file mode 100644 index 00000000000..1a7c61d8a9d --- /dev/null +++ b/server/src/proto/car/LocationP.java @@ -0,0 +1,540 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: location.proto + +package proto.car; + +public final class LocationP { + private LocationP() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface LocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.Location) + com.google.protobuf.MessageOrBuilder { + + /** + * optional double x = 1; + */ + double getX(); + + /** + * optional double y = 2; + */ + double getY(); + + /** + * optional double angle = 3; + */ + double getAngle(); + } + /** + * Protobuf type {@code carkot.Location} + */ + public static final class Location extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.Location) + LocationOrBuilder { + // Use Location.newBuilder() to construct. + private Location(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Location() { + x_ = 0D; + y_ = 0D; + angle_ = 0D; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private Location( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 9: { + + x_ = input.readDouble(); + break; + } + case 17: { + + y_ = input.readDouble(); + break; + } + case 25: { + + angle_ = input.readDouble(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.LocationP.internal_static_carkot_Location_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.LocationP.internal_static_carkot_Location_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.LocationP.Location.class, proto.car.LocationP.Location.Builder.class); + } + + public static final int X_FIELD_NUMBER = 1; + private double x_; + /** + * optional double x = 1; + */ + public double getX() { + return x_; + } + + public static final int Y_FIELD_NUMBER = 2; + private double y_; + /** + * optional double y = 2; + */ + public double getY() { + return y_; + } + + public static final int ANGLE_FIELD_NUMBER = 3; + private double angle_; + /** + * optional double angle = 3; + */ + public double getAngle() { + return angle_; + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (x_ != 0D) { + output.writeDouble(1, x_); + } + if (y_ != 0D) { + output.writeDouble(2, y_); + } + if (angle_ != 0D) { + output.writeDouble(3, angle_); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (x_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(1, x_); + } + if (y_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(2, y_); + } + if (angle_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(3, angle_); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.LocationP.Location parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.LocationP.Location parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.LocationP.Location parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.LocationP.Location parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.LocationP.Location parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.LocationP.Location parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.LocationP.Location parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.LocationP.Location parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.LocationP.Location parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.LocationP.Location parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.LocationP.Location prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.Location} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.Location) + proto.car.LocationP.LocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.LocationP.internal_static_carkot_Location_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.LocationP.internal_static_carkot_Location_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.LocationP.Location.class, proto.car.LocationP.Location.Builder.class); + } + + // Construct using proto.car.LocationP.Location.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + x_ = 0D; + + y_ = 0D; + + angle_ = 0D; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.LocationP.internal_static_carkot_Location_descriptor; + } + + public proto.car.LocationP.Location getDefaultInstanceForType() { + return proto.car.LocationP.Location.getDefaultInstance(); + } + + public proto.car.LocationP.Location build() { + proto.car.LocationP.Location result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.LocationP.Location buildPartial() { + proto.car.LocationP.Location result = new proto.car.LocationP.Location(this); + result.x_ = x_; + result.y_ = y_; + result.angle_ = angle_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.LocationP.Location) { + return mergeFrom((proto.car.LocationP.Location)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.LocationP.Location other) { + if (other == proto.car.LocationP.Location.getDefaultInstance()) return this; + if (other.getX() != 0D) { + setX(other.getX()); + } + if (other.getY() != 0D) { + setY(other.getY()); + } + if (other.getAngle() != 0D) { + setAngle(other.getAngle()); + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.LocationP.Location parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.LocationP.Location) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private double x_ ; + /** + * optional double x = 1; + */ + public double getX() { + return x_; + } + /** + * optional double x = 1; + */ + public Builder setX(double value) { + + x_ = value; + onChanged(); + return this; + } + /** + * optional double x = 1; + */ + public Builder clearX() { + + x_ = 0D; + onChanged(); + return this; + } + + private double y_ ; + /** + * optional double y = 2; + */ + public double getY() { + return y_; + } + /** + * optional double y = 2; + */ + public Builder setY(double value) { + + y_ = value; + onChanged(); + return this; + } + /** + * optional double y = 2; + */ + public Builder clearY() { + + y_ = 0D; + onChanged(); + return this; + } + + private double angle_ ; + /** + * optional double angle = 3; + */ + public double getAngle() { + return angle_; + } + /** + * optional double angle = 3; + */ + public Builder setAngle(double value) { + + angle_ = value; + onChanged(); + return this; + } + /** + * optional double angle = 3; + */ + public Builder clearAngle() { + + angle_ = 0D; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.Location) + } + + // @@protoc_insertion_point(class_scope:carkot.Location) + private static final proto.car.LocationP.Location DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.LocationP.Location(); + } + + public static proto.car.LocationP.Location getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public Location parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Location(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.LocationP.Location getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_Location_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_Location_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\016location.proto\022\006carkot\"/\n\010Location\022\t\n\001" + + "x\030\001 \001(\001\022\t\n\001y\030\002 \001(\001\022\r\n\005angle\030\003 \001(\001B\026\n\tpro" + + "to.carB\tLocationPb\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_carkot_Location_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_carkot_Location_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_Location_descriptor, + new java.lang.String[] { "X", "Y", "Angle", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/server/src/proto/car/RouteDoneP.java b/server/src/proto/car/RouteDoneP.java new file mode 100644 index 00000000000..36e630de8b5 --- /dev/null +++ b/server/src/proto/car/RouteDoneP.java @@ -0,0 +1,496 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: routeDone.proto + +package proto.car; + +public final class RouteDoneP { + private RouteDoneP() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface RouteDoneOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.RouteDone) + com.google.protobuf.MessageOrBuilder { + + /** + * optional string uid = 1; + */ + java.lang.String getUid(); + /** + * optional string uid = 1; + */ + com.google.protobuf.ByteString + getUidBytes(); + } + /** + * Protobuf type {@code carkot.RouteDone} + */ + public static final class RouteDone extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.RouteDone) + RouteDoneOrBuilder { + // Use RouteDone.newBuilder() to construct. + private RouteDone(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private RouteDone() { + uid_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private RouteDone( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + uid_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteDoneP.internal_static_carkot_RouteDone_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteDoneP.internal_static_carkot_RouteDone_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteDoneP.RouteDone.class, proto.car.RouteDoneP.RouteDone.Builder.class); + } + + public static final int UID_FIELD_NUMBER = 1; + private volatile java.lang.Object uid_; + /** + * optional string uid = 1; + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } + } + /** + * optional string uid = 1; + */ + public com.google.protobuf.ByteString + getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getUidBytes().isEmpty()) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, uid_); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getUidBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, uid_); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.RouteDoneP.RouteDone parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteDoneP.RouteDone parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteDoneP.RouteDone parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteDoneP.RouteDone parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteDoneP.RouteDone parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteDoneP.RouteDone parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteDoneP.RouteDone parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.RouteDoneP.RouteDone parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteDoneP.RouteDone parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteDoneP.RouteDone parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.RouteDoneP.RouteDone prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.RouteDone} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.RouteDone) + proto.car.RouteDoneP.RouteDoneOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteDoneP.internal_static_carkot_RouteDone_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteDoneP.internal_static_carkot_RouteDone_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteDoneP.RouteDone.class, proto.car.RouteDoneP.RouteDone.Builder.class); + } + + // Construct using proto.car.RouteDoneP.RouteDone.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + uid_ = ""; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.RouteDoneP.internal_static_carkot_RouteDone_descriptor; + } + + public proto.car.RouteDoneP.RouteDone getDefaultInstanceForType() { + return proto.car.RouteDoneP.RouteDone.getDefaultInstance(); + } + + public proto.car.RouteDoneP.RouteDone build() { + proto.car.RouteDoneP.RouteDone result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.RouteDoneP.RouteDone buildPartial() { + proto.car.RouteDoneP.RouteDone result = new proto.car.RouteDoneP.RouteDone(this); + result.uid_ = uid_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.RouteDoneP.RouteDone) { + return mergeFrom((proto.car.RouteDoneP.RouteDone)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.RouteDoneP.RouteDone other) { + if (other == proto.car.RouteDoneP.RouteDone.getDefaultInstance()) return this; + if (!other.getUid().isEmpty()) { + uid_ = other.uid_; + onChanged(); + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.RouteDoneP.RouteDone parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.RouteDoneP.RouteDone) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object uid_ = ""; + /** + * optional string uid = 1; + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string uid = 1; + */ + public com.google.protobuf.ByteString + getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string uid = 1; + */ + public Builder setUid( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + uid_ = value; + onChanged(); + return this; + } + /** + * optional string uid = 1; + */ + public Builder clearUid() { + + uid_ = getDefaultInstance().getUid(); + onChanged(); + return this; + } + /** + * optional string uid = 1; + */ + public Builder setUidBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + uid_ = value; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.RouteDone) + } + + // @@protoc_insertion_point(class_scope:carkot.RouteDone) + private static final proto.car.RouteDoneP.RouteDone DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.RouteDoneP.RouteDone(); + } + + public static proto.car.RouteDoneP.RouteDone getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public RouteDone parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RouteDone(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.RouteDoneP.RouteDone getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_RouteDone_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_RouteDone_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\017routeDone.proto\022\006carkot\"\030\n\tRouteDone\022\013" + + "\n\003uid\030\001 \001(\tB\027\n\tproto.carB\nRouteDonePb\006pr" + + "oto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_carkot_RouteDone_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_carkot_RouteDone_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_RouteDone_descriptor, + new java.lang.String[] { "Uid", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/server/src/proto/car/RouteP.java b/server/src/proto/car/RouteP.java new file mode 100644 index 00000000000..95393f50b19 --- /dev/null +++ b/server/src/proto/car/RouteP.java @@ -0,0 +1,1168 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: route.proto + +package proto.car; + +public final class RouteP { + private RouteP() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface RouteOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.Route) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + java.util.List + getWayPointsList(); + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + proto.car.RouteP.Route.WayPoint getWayPoints(int index); + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + int getWayPointsCount(); + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + java.util.List + getWayPointsOrBuilderList(); + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + proto.car.RouteP.Route.WayPointOrBuilder getWayPointsOrBuilder( + int index); + } + /** + * Protobuf type {@code carkot.Route} + */ + public static final class Route extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.Route) + RouteOrBuilder { + // Use Route.newBuilder() to construct. + private Route(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private Route() { + wayPoints_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private Route( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 10: { + if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + wayPoints_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + wayPoints_.add(input.readMessage(proto.car.RouteP.Route.WayPoint.parser(), extensionRegistry)); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { + wayPoints_ = java.util.Collections.unmodifiableList(wayPoints_); + } + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteP.internal_static_carkot_Route_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteP.internal_static_carkot_Route_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteP.Route.class, proto.car.RouteP.Route.Builder.class); + } + + public interface WayPointOrBuilder extends + // @@protoc_insertion_point(interface_extends:carkot.Route.WayPoint) + com.google.protobuf.MessageOrBuilder { + + /** + * optional double distance = 2; + */ + double getDistance(); + + /** + * optional double angle_delta = 3; + */ + double getAngleDelta(); + } + /** + * Protobuf type {@code carkot.Route.WayPoint} + */ + public static final class WayPoint extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:carkot.Route.WayPoint) + WayPointOrBuilder { + // Use WayPoint.newBuilder() to construct. + private WayPoint(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private WayPoint() { + distance_ = 0D; + angleDelta_ = 0D; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return com.google.protobuf.UnknownFieldSet.getDefaultInstance(); + } + private WayPoint( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + int mutable_bitField0_ = 0; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!input.skipField(tag)) { + done = true; + } + break; + } + case 17: { + + distance_ = input.readDouble(); + break; + } + case 25: { + + angleDelta_ = input.readDouble(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteP.internal_static_carkot_Route_WayPoint_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteP.internal_static_carkot_Route_WayPoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteP.Route.WayPoint.class, proto.car.RouteP.Route.WayPoint.Builder.class); + } + + public static final int DISTANCE_FIELD_NUMBER = 2; + private double distance_; + /** + * optional double distance = 2; + */ + public double getDistance() { + return distance_; + } + + public static final int ANGLE_DELTA_FIELD_NUMBER = 3; + private double angleDelta_; + /** + * optional double angle_delta = 3; + */ + public double getAngleDelta() { + return angleDelta_; + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (distance_ != 0D) { + output.writeDouble(2, distance_); + } + if (angleDelta_ != 0D) { + output.writeDouble(3, angleDelta_); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (distance_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(2, distance_); + } + if (angleDelta_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(3, angleDelta_); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.RouteP.Route.WayPoint parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteP.Route.WayPoint parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteP.Route.WayPoint parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteP.Route.WayPoint parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteP.Route.WayPoint parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route.WayPoint parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteP.Route.WayPoint parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route.WayPoint parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteP.Route.WayPoint parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route.WayPoint parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.RouteP.Route.WayPoint prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.Route.WayPoint} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.Route.WayPoint) + proto.car.RouteP.Route.WayPointOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteP.internal_static_carkot_Route_WayPoint_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteP.internal_static_carkot_Route_WayPoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteP.Route.WayPoint.class, proto.car.RouteP.Route.WayPoint.Builder.class); + } + + // Construct using proto.car.RouteP.Route.WayPoint.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + public Builder clear() { + super.clear(); + distance_ = 0D; + + angleDelta_ = 0D; + + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.RouteP.internal_static_carkot_Route_WayPoint_descriptor; + } + + public proto.car.RouteP.Route.WayPoint getDefaultInstanceForType() { + return proto.car.RouteP.Route.WayPoint.getDefaultInstance(); + } + + public proto.car.RouteP.Route.WayPoint build() { + proto.car.RouteP.Route.WayPoint result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.RouteP.Route.WayPoint buildPartial() { + proto.car.RouteP.Route.WayPoint result = new proto.car.RouteP.Route.WayPoint(this); + result.distance_ = distance_; + result.angleDelta_ = angleDelta_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.RouteP.Route.WayPoint) { + return mergeFrom((proto.car.RouteP.Route.WayPoint)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.RouteP.Route.WayPoint other) { + if (other == proto.car.RouteP.Route.WayPoint.getDefaultInstance()) return this; + if (other.getDistance() != 0D) { + setDistance(other.getDistance()); + } + if (other.getAngleDelta() != 0D) { + setAngleDelta(other.getAngleDelta()); + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.RouteP.Route.WayPoint parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.RouteP.Route.WayPoint) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private double distance_ ; + /** + * optional double distance = 2; + */ + public double getDistance() { + return distance_; + } + /** + * optional double distance = 2; + */ + public Builder setDistance(double value) { + + distance_ = value; + onChanged(); + return this; + } + /** + * optional double distance = 2; + */ + public Builder clearDistance() { + + distance_ = 0D; + onChanged(); + return this; + } + + private double angleDelta_ ; + /** + * optional double angle_delta = 3; + */ + public double getAngleDelta() { + return angleDelta_; + } + /** + * optional double angle_delta = 3; + */ + public Builder setAngleDelta(double value) { + + angleDelta_ = value; + onChanged(); + return this; + } + /** + * optional double angle_delta = 3; + */ + public Builder clearAngleDelta() { + + angleDelta_ = 0D; + onChanged(); + return this; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.Route.WayPoint) + } + + // @@protoc_insertion_point(class_scope:carkot.Route.WayPoint) + private static final proto.car.RouteP.Route.WayPoint DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.RouteP.Route.WayPoint(); + } + + public static proto.car.RouteP.Route.WayPoint getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public WayPoint parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new WayPoint(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.RouteP.Route.WayPoint getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public static final int WAY_POINTS_FIELD_NUMBER = 1; + private java.util.List wayPoints_; + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public java.util.List getWayPointsList() { + return wayPoints_; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public java.util.List + getWayPointsOrBuilderList() { + return wayPoints_; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public int getWayPointsCount() { + return wayPoints_.size(); + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPoint getWayPoints(int index) { + return wayPoints_.get(index); + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPointOrBuilder getWayPointsOrBuilder( + int index) { + return wayPoints_.get(index); + } + + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < wayPoints_.size(); i++) { + output.writeMessage(1, wayPoints_.get(i)); + } + } + + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < wayPoints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, wayPoints_.get(i)); + } + memoizedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + public static proto.car.RouteP.Route parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteP.Route parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteP.Route parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static proto.car.RouteP.Route parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static proto.car.RouteP.Route parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteP.Route parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static proto.car.RouteP.Route parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static proto.car.RouteP.Route parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(proto.car.RouteP.Route prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code carkot.Route} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:carkot.Route) + proto.car.RouteP.RouteOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return proto.car.RouteP.internal_static_carkot_Route_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return proto.car.RouteP.internal_static_carkot_Route_fieldAccessorTable + .ensureFieldAccessorsInitialized( + proto.car.RouteP.Route.class, proto.car.RouteP.Route.Builder.class); + } + + // Construct using proto.car.RouteP.Route.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getWayPointsFieldBuilder(); + } + } + public Builder clear() { + super.clear(); + if (wayPointsBuilder_ == null) { + wayPoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + wayPointsBuilder_.clear(); + } + return this; + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return proto.car.RouteP.internal_static_carkot_Route_descriptor; + } + + public proto.car.RouteP.Route getDefaultInstanceForType() { + return proto.car.RouteP.Route.getDefaultInstance(); + } + + public proto.car.RouteP.Route build() { + proto.car.RouteP.Route result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public proto.car.RouteP.Route buildPartial() { + proto.car.RouteP.Route result = new proto.car.RouteP.Route(this); + int from_bitField0_ = bitField0_; + if (wayPointsBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { + wayPoints_ = java.util.Collections.unmodifiableList(wayPoints_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.wayPoints_ = wayPoints_; + } else { + result.wayPoints_ = wayPointsBuilder_.build(); + } + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof proto.car.RouteP.Route) { + return mergeFrom((proto.car.RouteP.Route)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(proto.car.RouteP.Route other) { + if (other == proto.car.RouteP.Route.getDefaultInstance()) return this; + if (wayPointsBuilder_ == null) { + if (!other.wayPoints_.isEmpty()) { + if (wayPoints_.isEmpty()) { + wayPoints_ = other.wayPoints_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureWayPointsIsMutable(); + wayPoints_.addAll(other.wayPoints_); + } + onChanged(); + } + } else { + if (!other.wayPoints_.isEmpty()) { + if (wayPointsBuilder_.isEmpty()) { + wayPointsBuilder_.dispose(); + wayPointsBuilder_ = null; + wayPoints_ = other.wayPoints_; + bitField0_ = (bitField0_ & ~0x00000001); + wayPointsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getWayPointsFieldBuilder() : null; + } else { + wayPointsBuilder_.addAllMessages(other.wayPoints_); + } + } + } + onChanged(); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + proto.car.RouteP.Route parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (proto.car.RouteP.Route) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List wayPoints_ = + java.util.Collections.emptyList(); + private void ensureWayPointsIsMutable() { + if (!((bitField0_ & 0x00000001) == 0x00000001)) { + wayPoints_ = new java.util.ArrayList(wayPoints_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + proto.car.RouteP.Route.WayPoint, proto.car.RouteP.Route.WayPoint.Builder, proto.car.RouteP.Route.WayPointOrBuilder> wayPointsBuilder_; + + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public java.util.List getWayPointsList() { + if (wayPointsBuilder_ == null) { + return java.util.Collections.unmodifiableList(wayPoints_); + } else { + return wayPointsBuilder_.getMessageList(); + } + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public int getWayPointsCount() { + if (wayPointsBuilder_ == null) { + return wayPoints_.size(); + } else { + return wayPointsBuilder_.getCount(); + } + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPoint getWayPoints(int index) { + if (wayPointsBuilder_ == null) { + return wayPoints_.get(index); + } else { + return wayPointsBuilder_.getMessage(index); + } + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder setWayPoints( + int index, proto.car.RouteP.Route.WayPoint value) { + if (wayPointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWayPointsIsMutable(); + wayPoints_.set(index, value); + onChanged(); + } else { + wayPointsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder setWayPoints( + int index, proto.car.RouteP.Route.WayPoint.Builder builderForValue) { + if (wayPointsBuilder_ == null) { + ensureWayPointsIsMutable(); + wayPoints_.set(index, builderForValue.build()); + onChanged(); + } else { + wayPointsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder addWayPoints(proto.car.RouteP.Route.WayPoint value) { + if (wayPointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWayPointsIsMutable(); + wayPoints_.add(value); + onChanged(); + } else { + wayPointsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder addWayPoints( + int index, proto.car.RouteP.Route.WayPoint value) { + if (wayPointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWayPointsIsMutable(); + wayPoints_.add(index, value); + onChanged(); + } else { + wayPointsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder addWayPoints( + proto.car.RouteP.Route.WayPoint.Builder builderForValue) { + if (wayPointsBuilder_ == null) { + ensureWayPointsIsMutable(); + wayPoints_.add(builderForValue.build()); + onChanged(); + } else { + wayPointsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder addWayPoints( + int index, proto.car.RouteP.Route.WayPoint.Builder builderForValue) { + if (wayPointsBuilder_ == null) { + ensureWayPointsIsMutable(); + wayPoints_.add(index, builderForValue.build()); + onChanged(); + } else { + wayPointsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder addAllWayPoints( + java.lang.Iterable values) { + if (wayPointsBuilder_ == null) { + ensureWayPointsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, wayPoints_); + onChanged(); + } else { + wayPointsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder clearWayPoints() { + if (wayPointsBuilder_ == null) { + wayPoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + wayPointsBuilder_.clear(); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public Builder removeWayPoints(int index) { + if (wayPointsBuilder_ == null) { + ensureWayPointsIsMutable(); + wayPoints_.remove(index); + onChanged(); + } else { + wayPointsBuilder_.remove(index); + } + return this; + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPoint.Builder getWayPointsBuilder( + int index) { + return getWayPointsFieldBuilder().getBuilder(index); + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPointOrBuilder getWayPointsOrBuilder( + int index) { + if (wayPointsBuilder_ == null) { + return wayPoints_.get(index); } else { + return wayPointsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public java.util.List + getWayPointsOrBuilderList() { + if (wayPointsBuilder_ != null) { + return wayPointsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(wayPoints_); + } + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPoint.Builder addWayPointsBuilder() { + return getWayPointsFieldBuilder().addBuilder( + proto.car.RouteP.Route.WayPoint.getDefaultInstance()); + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public proto.car.RouteP.Route.WayPoint.Builder addWayPointsBuilder( + int index) { + return getWayPointsFieldBuilder().addBuilder( + index, proto.car.RouteP.Route.WayPoint.getDefaultInstance()); + } + /** + * repeated .carkot.Route.WayPoint way_points = 1; + */ + public java.util.List + getWayPointsBuilderList() { + return getWayPointsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + proto.car.RouteP.Route.WayPoint, proto.car.RouteP.Route.WayPoint.Builder, proto.car.RouteP.Route.WayPointOrBuilder> + getWayPointsFieldBuilder() { + if (wayPointsBuilder_ == null) { + wayPointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + proto.car.RouteP.Route.WayPoint, proto.car.RouteP.Route.WayPoint.Builder, proto.car.RouteP.Route.WayPointOrBuilder>( + wayPoints_, + ((bitField0_ & 0x00000001) == 0x00000001), + getParentForChildren(), + isClean()); + wayPoints_ = null; + } + return wayPointsBuilder_; + } + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return this; + } + + + // @@protoc_insertion_point(builder_scope:carkot.Route) + } + + // @@protoc_insertion_point(class_scope:carkot.Route) + private static final proto.car.RouteP.Route DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new proto.car.RouteP.Route(); + } + + public static proto.car.RouteP.Route getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + public Route parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Route(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public proto.car.RouteP.Route getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_Route_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_Route_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_carkot_Route_WayPoint_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_carkot_Route_WayPoint_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\013route.proto\022\006carkot\"f\n\005Route\022*\n\nway_po" + + "ints\030\001 \003(\0132\026.carkot.Route.WayPoint\0321\n\010Wa" + + "yPoint\022\020\n\010distance\030\002 \001(\001\022\023\n\013angle_delta\030" + + "\003 \001(\001B\023\n\tproto.carB\006RoutePb\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_carkot_Route_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_carkot_Route_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_Route_descriptor, + new java.lang.String[] { "WayPoints", }); + internal_static_carkot_Route_WayPoint_descriptor = + internal_static_carkot_Route_descriptor.getNestedTypes().get(0); + internal_static_carkot_Route_WayPoint_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_carkot_Route_WayPoint_descriptor, + new java.lang.String[] { "Distance", "AngleDelta", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/server/src/Server/Server.kt b/server/src/server/Server.kt similarity index 81% rename from server/src/Server/Server.kt rename to server/src/server/Server.kt index 4ca1c8cefec..f20b575b467 100644 --- a/server/src/Server/Server.kt +++ b/server/src/server/Server.kt @@ -1,4 +1,4 @@ -package Server +package server import io.netty.bootstrap.ServerBootstrap import io.netty.channel.nio.NioEventLoopGroup @@ -12,9 +12,11 @@ import io.netty.handler.logging.LoggingHandler class Server : Runnable { val port: Int; + val handlerThreadsCount: Int; - constructor(port: Int) { + constructor(port: Int, handlerThreadsCount: Int) { this.port = port + this.handlerThreadsCount = handlerThreadsCount } override fun run() { @@ -24,7 +26,7 @@ class Server : Runnable { b.group(bossGroup, workerGroup) .channel(NioServerSocketChannel().javaClass) .handler(LoggingHandler(LogLevel.INFO)) - .childHandler(ServerInitializer()) + .childHandler(ServerInitializer(handlerThreadsCount)) try { val channel = b.bind(port).sync().channel() diff --git a/server/src/server/ServerHandler.kt b/server/src/server/ServerHandler.kt new file mode 100644 index 00000000000..1bb2b302120 --- /dev/null +++ b/server/src/server/ServerHandler.kt @@ -0,0 +1,85 @@ +package server + +import connectUrl +import getLocationUrl +import io.netty.buffer.Unpooled +import io.netty.channel.ChannelFutureListener +import io.netty.channel.ChannelHandlerContext +import io.netty.channel.SimpleChannelInboundHandler +import io.netty.handler.codec.http.* +import io.netty.util.CharsetUtil +import objects.Environment +import proto.car.ConnectP.ConnectionRequest +import proto.car.RouteDoneP +import proto.car.RouteDoneP.RouteDone +import routeDoneUrl +import setRouteUrl +import java.nio.charset.Charset +import java.text.SimpleDateFormat +import java.util.* + +/** + * Created by user on 7/6/16. + */ +class ServerHandler : SimpleChannelInboundHandler() { + + var url: String = "" + var contentBytes: ByteArray = ByteArray(0); + + override fun channelReadComplete(ctx: ChannelHandlerContext) { + + val environment = Environment.instance + var success = true; + when (url) { + connectUrl -> { + val data = ConnectionRequest.parseFrom(contentBytes) + //todo + } + routeDoneUrl -> { + val data = RouteDone.parseFrom(contentBytes) + val id = data.uid + synchronized(environment.map, { + val car = environment.map.get(id) + if (car != null) { + car.free = true + } else { + success = false + } + }) + } + else -> { + success = false + //todo unsup operation + } + } + + val response = DefaultFullHttpResponse(HttpVersion.HTTP_1_1, if (success) HttpResponseStatus.OK else HttpResponseStatus.NOT_FOUND) + response.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes()) + ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE); + } + + override fun channelRead0(ctx: ChannelHandlerContext, msg: Any) { + if (msg is HttpRequest) { + this.url = msg.uri() +// sb.append("" + msg.method() + " " + msg.protocolVersion() + "\n" + msg.uri()) +// for (header in msg.headers()) { +// sb.append(header.key + ":" + header.value + "\n") +// } + } + + if (msg is DefaultHttpContent) { + val contentsBytes = msg.content(); + contentBytes = ByteArray(contentsBytes.capacity()) + contentsBytes.readBytes(contentBytes) + } + } + + + override fun exceptionCaught(ctx: ChannelHandlerContext?, cause: Throwable?) { + println("exception") + cause?.printStackTrace() + if (ctx != null) { + ctx.close() + } + } +} \ No newline at end of file diff --git a/server/src/Server/ServerInitializer.kt b/server/src/server/ServerInitializer.kt similarity index 63% rename from server/src/Server/ServerInitializer.kt rename to server/src/server/ServerInitializer.kt index edd6d26b033..47a5a3832e7 100644 --- a/server/src/Server/ServerInitializer.kt +++ b/server/src/server/ServerInitializer.kt @@ -1,26 +1,28 @@ -package Server +package server -import Server.ServerHandler import io.netty.channel.ChannelInitializer import io.netty.channel.ChannelPipeline import io.netty.channel.socket.SocketChannel import io.netty.handler.codec.http.HttpRequestDecoder import io.netty.handler.codec.http.HttpResponseEncoder +import io.netty.util.concurrent.DefaultEventExecutorGroup +import io.netty.util.concurrent.EventExecutorGroup /** * Created by user on 7/6/16. */ class ServerInitializer : ChannelInitializer { - constructor() { + val group: EventExecutorGroup; + constructor(handlerThreadCount: Int) { + this.group = DefaultEventExecutorGroup(handlerThreadCount) } override fun initChannel(channel: SocketChannel) { - println("init") val p: ChannelPipeline = channel.pipeline() p.addLast(HttpRequestDecoder()) p.addLast(HttpResponseEncoder()) - p.addLast(ServerHandler()) + p.addLast(group, ServerHandler()) } } \ No newline at end of file