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 extends proto.car.RouteP.Route.WayPointOrBuilder>
+ 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 extends proto.car.RouteP.Route.WayPointOrBuilder>
+ 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 extends proto.car.RouteP.Route.WayPoint> 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 extends proto.car.RouteP.Route.WayPointOrBuilder>
+ 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