delete car emulator src from server project

This commit is contained in:
MaximZaitsev
2016-07-26 11:09:02 +03:00
parent 8fd1f45010
commit 5992232eb5
13 changed files with 0 additions and 5079 deletions
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="library" name="netty-all-4.1.2.Final-sources" level="project" />
</component>
</module>
-78
View File
@@ -1,78 +0,0 @@
import client.Client
import io.netty.bootstrap.ServerBootstrap
import io.netty.buffer.Unpooled
import io.netty.channel.nio.NioEventLoopGroup
import io.netty.channel.socket.nio.NioServerSocketChannel
import io.netty.handler.codec.http.*
import proto.car.ConnectP
import proto.car.RouteDoneP
import server.Initializer
import java.util.*
import kotlin.concurrent.thread
/**
* Created by user on 7/6/16.
*/
val serverHost = "127.0.0.1"
val serverPort = 7925
val carHost = "127.0.0.1"
val getLocationUrl = "getLocation"
val routeDoneUrl = "routeDone"
val setRouteUrl = "route"
val connectUrl = "connect"
fun main(args: Array<String>) {
val port = Random().nextInt(10000) + 10000
println("car started on port $port")
val serverCarThread = thread {
val bossGroup = NioEventLoopGroup(1)
val workerGroup = NioEventLoopGroup()
val b = ServerBootstrap()
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel().javaClass)
.childHandler(Initializer())
try {
val channel = b.bind(port).sync().channel()
channel.closeFuture().sync()
} catch (e: InterruptedException) {
println("car server stoped!")
e.printStackTrace()
} finally {
bossGroup.shutdownGracefully()
workerGroup.shutdownGracefully()
}
}
//connect
val connect = ConnectP.ConnectionRequest.newBuilder().setIp(carHost).setPort(port).build()
val request = DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, connectUrl, Unpooled.copiedBuffer(connect.toByteArray()))
request.headers().set(HttpHeaderNames.HOST, serverHost)
request.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE)
request.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, request.content().readableBytes())
Client.sendRequest(request, serverHost, serverPort)
val car = ThisCar.instance
var lastTime: Long = System.currentTimeMillis()
while (true) {
Thread.sleep(50)
val deltaTimeMs = (System.currentTimeMillis() - lastTime)
if (!car.pathDone) {
println(car)
}
var pathDone = car.move(deltaTimeMs.toDouble() / 1000)
if (pathDone) {
val routeDone = RouteDoneP.RouteDone.newBuilder().setUid(car.id).build()
val pathDoneRequest = DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, setRouteUrl, Unpooled.copiedBuffer(routeDone.toByteArray()))
pathDoneRequest.headers().set(HttpHeaderNames.HOST, serverHost)
pathDoneRequest.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE)
pathDoneRequest.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, pathDoneRequest.content().readableBytes())
Client.sendRequest(pathDoneRequest, serverHost, serverPort)
}
lastTime = System.currentTimeMillis()
}
}
-95
View File
@@ -1,95 +0,0 @@
import client.Client
import io.netty.buffer.Unpooled
import io.netty.handler.codec.http.*
import proto.car.RouteDoneP
import proto.car.RouteP.Route.WayPoint
/**
* Created by user on 7/8/16.
*/
class ThisCar private constructor() {
var id = 0
//metr
var x: Double = 0.toDouble()
var y: Double = 0.toDouble()
//Degree
var angle: Double = 0.toDouble();//0 - положительное направление по OX
val velocityMove: Double = 0.1//metr/sec
val velocityRotation: Double = 10.toDouble()//Degree/sec
val wayPoints: MutableList<WayPoint> = mutableListOf()
var nextWayPointIndex = 0
var pathDone = true
var distanceToNext: Double = 0.toDouble()
var angleToNext: Double = 0.toDouble()
var anglePositive = true//true - поворот по часовой, false - против
companion object {
val instance = ThisCar()
}
@Synchronized
fun move(deltaTime: Double) :Boolean {
if (pathDone) {
//маршрут не задан и сервер "в курсе", что маршрут пройден
return false;
}
if (distanceToNext > 0 || angleToNext > 0) {
if (angleToNext > 0) {
//поворачиваемся
val angleDelta: Double = velocityRotation * deltaTime
angle += (if (anglePositive) 1 else -1) * angleDelta
angleToNext -= angleDelta
if (angleToNext < 0) {
angleToNext = 0.toDouble()
}
} else {
//машинка повернута в нужную сторону, можно ехать
var xDelta = deltaTime * velocityMove * Math.cos(angle * Math.PI / 180)
var yDelta = deltaTime * velocityMove * Math.sin(angle * Math.PI / 180)
x += xDelta
y += yDelta
distanceToNext -= deltaTime * velocityMove
if (distanceToNext < 0) {
distanceToNext = 0.toDouble()
}
}
} else if (nextWayPointIndex == wayPoints.size) {
pathDone = true
return true;
} else {
val wayPoint = wayPoints.get(nextWayPointIndex)
angleToNext = Math.abs(wayPoint.angleDelta)
distanceToNext = Math.abs(wayPoint.distance)//задний ход пока отключаем:)
anglePositive = (wayPoint.angleDelta > 0)
nextWayPointIndex++
}
return false;
}
@Synchronized
fun setPath(wayPoints: List<WayPoint>) {
println("in set path")
this.pathDone = false
distanceToNext = 0.toDouble()
angleToNext = 0.toDouble()
nextWayPointIndex = 0
this.wayPoints.clear()
this.wayPoints.addAll(wayPoints)
}
override fun toString(): String {
return "x:$x; y:$y; angle:$angle"
}
}
-40
View File
@@ -1,40 +0,0 @@
package client
import io.netty.bootstrap.Bootstrap
import io.netty.channel.ChannelInitializer
import io.netty.channel.nio.NioEventLoopGroup
import io.netty.channel.socket.SocketChannel
import io.netty.channel.socket.nio.NioSocketChannel
import io.netty.handler.codec.http.HttpRequest
import io.netty.util.AttributeKey
/**
* Created by user on 7/8/16.
*/
object Client {
val bootstrap: Bootstrap = makeBootstrap()
private fun makeBootstrap(): Bootstrap {
val group = NioEventLoopGroup();
val b = Bootstrap();
b.group(group).channel(NioSocketChannel().javaClass).handler(ClientInitializer())
.attr(AttributeKey.newInstance<String>("url"), "")
.attr(AttributeKey.newInstance<String>("uid"), "")
return b
}
fun sendRequest(request: HttpRequest, host: String, port: Int) {
try {
bootstrap.attr(AttributeKey.valueOf<String>("url"), request.uri())
// bootstrap.attr(AttributeKey.valueOf<String>("uid"), carUid)
val ch = bootstrap.connect(host, port).sync().channel()
ch.writeAndFlush(request)
ch.closeFuture().sync()//wait for answer
// val handler: ClientHandler = ch.pipeline().get(ClientHandler().javaClass)
} catch (e: InterruptedException) {
}
}
}
@@ -1,61 +0,0 @@
package client
import com.google.protobuf.InvalidProtocolBufferException
import connectUrl
import io.netty.channel.ChannelHandlerContext
import io.netty.channel.SimpleChannelInboundHandler
import io.netty.handler.codec.http.DefaultHttpContent
import io.netty.handler.codec.http.HttpContent
import io.netty.handler.codec.http.HttpRequest
import io.netty.handler.codec.http.HttpResponse
import io.netty.util.AttributeKey
import proto.car.ConnectP
/**
* Created by user on 7/8/16.
*/
class ClientHandler : SimpleChannelInboundHandler<Any> {
constructor()
var url: String = ""
var contentBytes: ByteArray = ByteArray(0);
override fun channelReadComplete(ctx: ChannelHandlerContext) {
val url = ctx.channel().attr(AttributeKey.valueOf<String>("url")).get()
when (url) {
connectUrl -> {
try {
val response = ConnectP.ConnectionResponse.parseFrom(contentBytes)
if (response.responseCase == ConnectP.ConnectionResponse.ResponseCase.UID) {
val uid = response.uid
synchronized(ThisCar.instance, {
ThisCar.instance.id = uid;
})
}
} catch (e: InvalidProtocolBufferException) {
}
}
}
ctx.close()
}
override fun channelRead(ctx: ChannelHandlerContext?, msg: Any?) {
super.channelRead(ctx, msg)
}
override fun channelRead0(ctx: ChannelHandlerContext?, msg: Any?) {
if (msg is HttpResponse) {
// this.url = msg.uri()
}
if (msg is HttpContent) {
val contentsBytes = msg.content();
contentBytes = ByteArray(contentsBytes.capacity())
contentsBytes.readBytes(contentBytes)
}
}
}
@@ -1,19 +0,0 @@
package client
import io.netty.channel.ChannelInitializer
import io.netty.channel.socket.SocketChannel
import io.netty.handler.codec.http.HttpClientCodec
/**
* Created by user on 7/8/16.
*/
class ClientInitializer : ChannelInitializer<SocketChannel> {
constructor()
override fun initChannel(ch: SocketChannel) {
val p = ch.pipeline()
p.addLast(HttpClientCodec())
p.addLast(ClientHandler())
}
}
File diff suppressed because it is too large Load Diff
@@ -1,555 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: error.proto
package proto.car;
public final class ErrorP {
private ErrorP() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
}
public interface ErrorOrBuilder extends
// @@protoc_insertion_point(interface_extends:carkot.Error)
com.google.protobuf.MessageOrBuilder {
/**
* <code>optional string errorMessage = 1;</code>
*/
java.lang.String getErrorMessage();
/**
* <code>optional string errorMessage = 1;</code>
*/
com.google.protobuf.ByteString
getErrorMessageBytes();
/**
* <code>optional int32 errorCode = 2;</code>
*/
int getErrorCode();
}
/**
* Protobuf type {@code carkot.Error}
*/
public static final class Error extends
com.google.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:carkot.Error)
ErrorOrBuilder {
// Use Error.newBuilder() to construct.
private Error(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
}
private Error() {
errorMessage_ = "";
errorCode_ = 0;
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
}
private Error(
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();
errorMessage_ = s;
break;
}
case 16: {
errorCode_ = 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.ErrorP.internal_static_carkot_Error_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return proto.car.ErrorP.internal_static_carkot_Error_fieldAccessorTable
.ensureFieldAccessorsInitialized(
proto.car.ErrorP.Error.class, proto.car.ErrorP.Error.Builder.class);
}
public static final int ERRORMESSAGE_FIELD_NUMBER = 1;
private volatile java.lang.Object errorMessage_;
/**
* <code>optional string errorMessage = 1;</code>
*/
public java.lang.String getErrorMessage() {
java.lang.Object ref = errorMessage_;
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();
errorMessage_ = s;
return s;
}
}
/**
* <code>optional string errorMessage = 1;</code>
*/
public com.google.protobuf.ByteString
getErrorMessageBytes() {
java.lang.Object ref = errorMessage_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
errorMessage_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int ERRORCODE_FIELD_NUMBER = 2;
private int errorCode_;
/**
* <code>optional int32 errorCode = 2;</code>
*/
public int getErrorCode() {
return errorCode_;
}
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 (!getErrorMessageBytes().isEmpty()) {
com.google.protobuf.GeneratedMessage.writeString(output, 1, errorMessage_);
}
if (errorCode_ != 0) {
output.writeInt32(2, errorCode_);
}
}
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (!getErrorMessageBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(1, errorMessage_);
}
if (errorCode_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(2, errorCode_);
}
memoizedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
public static proto.car.ErrorP.Error parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static proto.car.ErrorP.Error 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.ErrorP.Error parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static proto.car.ErrorP.Error parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static proto.car.ErrorP.Error parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessage
.parseWithIOException(PARSER, input);
}
public static proto.car.ErrorP.Error 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.ErrorP.Error parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessage
.parseDelimitedWithIOException(PARSER, input);
}
public static proto.car.ErrorP.Error 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.ErrorP.Error parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessage
.parseWithIOException(PARSER, input);
}
public static proto.car.ErrorP.Error 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.ErrorP.Error 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.Error}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:carkot.Error)
proto.car.ErrorP.ErrorOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return proto.car.ErrorP.internal_static_carkot_Error_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return proto.car.ErrorP.internal_static_carkot_Error_fieldAccessorTable
.ensureFieldAccessorsInitialized(
proto.car.ErrorP.Error.class, proto.car.ErrorP.Error.Builder.class);
}
// Construct using proto.car.ErrorP.Error.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();
errorMessage_ = "";
errorCode_ = 0;
return this;
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return proto.car.ErrorP.internal_static_carkot_Error_descriptor;
}
public proto.car.ErrorP.Error getDefaultInstanceForType() {
return proto.car.ErrorP.Error.getDefaultInstance();
}
public proto.car.ErrorP.Error build() {
proto.car.ErrorP.Error result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public proto.car.ErrorP.Error buildPartial() {
proto.car.ErrorP.Error result = new proto.car.ErrorP.Error(this);
result.errorMessage_ = errorMessage_;
result.errorCode_ = errorCode_;
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof proto.car.ErrorP.Error) {
return mergeFrom((proto.car.ErrorP.Error)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(proto.car.ErrorP.Error other) {
if (other == proto.car.ErrorP.Error.getDefaultInstance()) return this;
if (!other.getErrorMessage().isEmpty()) {
errorMessage_ = other.errorMessage_;
onChanged();
}
if (other.getErrorCode() != 0) {
setErrorCode(other.getErrorCode());
}
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.ErrorP.Error parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (proto.car.ErrorP.Error) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private java.lang.Object errorMessage_ = "";
/**
* <code>optional string errorMessage = 1;</code>
*/
public java.lang.String getErrorMessage() {
java.lang.Object ref = errorMessage_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
errorMessage_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <code>optional string errorMessage = 1;</code>
*/
public com.google.protobuf.ByteString
getErrorMessageBytes() {
java.lang.Object ref = errorMessage_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
errorMessage_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <code>optional string errorMessage = 1;</code>
*/
public Builder setErrorMessage(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
errorMessage_ = value;
onChanged();
return this;
}
/**
* <code>optional string errorMessage = 1;</code>
*/
public Builder clearErrorMessage() {
errorMessage_ = getDefaultInstance().getErrorMessage();
onChanged();
return this;
}
/**
* <code>optional string errorMessage = 1;</code>
*/
public Builder setErrorMessageBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
errorMessage_ = value;
onChanged();
return this;
}
private int errorCode_ ;
/**
* <code>optional int32 errorCode = 2;</code>
*/
public int getErrorCode() {
return errorCode_;
}
/**
* <code>optional int32 errorCode = 2;</code>
*/
public Builder setErrorCode(int value) {
errorCode_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 errorCode = 2;</code>
*/
public Builder clearErrorCode() {
errorCode_ = 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.Error)
}
// @@protoc_insertion_point(class_scope:carkot.Error)
private static final proto.car.ErrorP.Error DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new proto.car.ErrorP.Error();
}
public static proto.car.ErrorP.Error getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser<Error>
PARSER = new com.google.protobuf.AbstractParser<Error>() {
public Error parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new Error(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser<Error> parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser<Error> getParserForType() {
return PARSER;
}
public proto.car.ErrorP.Error getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
private static final com.google.protobuf.Descriptors.Descriptor
internal_static_carkot_Error_descriptor;
private static final
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_carkot_Error_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\013error.proto\022\006carkot\"0\n\005Error\022\024\n\014errorM" +
"essage\030\001 \001(\t\022\021\n\terrorCode\030\002 \001(\005B\023\n\tproto" +
".carB\006ErrorPb\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_Error_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_carkot_Error_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_carkot_Error_descriptor,
new java.lang.String[] { "ErrorMessage", "ErrorCode", });
}
// @@protoc_insertion_point(outer_class_scope)
}
File diff suppressed because it is too large Load Diff
@@ -1,422 +0,0 @@
// 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 {
/**
* <code>optional int32 uid = 1;</code>
*/
int getUid();
}
/**
* 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_ = 0;
}
@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 8: {
uid_ = 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.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 int uid_;
/**
* <code>optional int32 uid = 1;</code>
*/
public int getUid() {
return uid_;
}
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 (uid_ != 0) {
output.writeInt32(1, uid_);
}
}
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (uid_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(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<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_ = 0;
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() != 0) {
setUid(other.getUid());
}
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 int uid_ ;
/**
* <code>optional int32 uid = 1;</code>
*/
public int getUid() {
return uid_;
}
/**
* <code>optional int32 uid = 1;</code>
*/
public Builder setUid(int value) {
uid_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 uid = 1;</code>
*/
public Builder clearUid() {
uid_ = 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.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<RouteDone>
PARSER = new com.google.protobuf.AbstractParser<RouteDone>() {
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<RouteDone> parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser<RouteDone> 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(\005B\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)
}
File diff suppressed because it is too large Load Diff
-80
View File
@@ -1,80 +0,0 @@
package server
import ThisCar
import com.google.protobuf.InvalidProtocolBufferException
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 proto.car.LocationP
import proto.car.RouteP
import setRouteUrl
/**
* Created by user on 7/6/16.
*/
class Handler : SimpleChannelInboundHandler<Any>() {
var url: String = ""
var contentBytes: ByteArray = ByteArray(0);
override fun channelReadComplete(ctx: ChannelHandlerContext) {
val car = ThisCar.instance
var success = true;
var dataAnswer: ByteArray = ByteArray(0)
when (url) {
getLocationUrl -> {
dataAnswer = LocationP.Location.newBuilder().setLocationResponse(LocationP.Location.LocationResponse.newBuilder().setAngle(car.angle).setX(car.x).setY(car.y)).build().toByteArray()
}
setRouteUrl -> {
var data: RouteP.Route? = null;
try {
data = RouteP.Route.parseFrom(contentBytes)
} catch (e: InvalidProtocolBufferException) {
success = false;
}
if (data != null) {
val wayPoints = data.wayPointsList
println("try set path")
ThisCar.instance.setPath(wayPoints)
}
}
else -> {
success = false
}
}
val response = DefaultFullHttpResponse(HttpVersion.HTTP_1_1, if (success) HttpResponseStatus.OK else HttpResponseStatus.BAD_REQUEST, Unpooled.copiedBuffer(dataAnswer))
response.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes())
ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE);
}
override fun channelRead(ctx: ChannelHandlerContext?, msg: Any?) {
super.channelRead(ctx, msg)
}
override fun channelRead0(ctx: ChannelHandlerContext, msg: Any) {
if (msg is HttpRequest) {
this.url = msg.uri()
}
if (msg is HttpContent) {
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()
}
}
}
@@ -1,29 +0,0 @@
package server
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.handler.codec.http.HttpServerCodec
import io.netty.util.concurrent.DefaultEventExecutorGroup
import io.netty.util.concurrent.EventExecutorGroup
/**
* Created by user on 7/6/16.
*/
class Initializer : ChannelInitializer<SocketChannel> {
constructor() {
}
override fun initChannel(channel: SocketChannel) {
val p: ChannelPipeline = channel.pipeline()
p.addLast(HttpServerCodec())
// p.addLast(HttpRequestDecoder())
// p.addLast(HttpResponseEncoder())
p.addLast(Handler())
}
}