This commit is contained in:
rusefi 2020-07-18 23:13:55 -04:00
parent 3c701edaeb
commit 2a8945fb36
3 changed files with 25 additions and 18 deletions

View File

@ -5,6 +5,7 @@ import com.opensr5.Logger;
import com.rusefi.Listener; import com.rusefi.Listener;
import com.rusefi.binaryprotocol.*; import com.rusefi.binaryprotocol.*;
import com.rusefi.config.generated.Fields; import com.rusefi.config.generated.Fields;
import com.rusefi.io.IoStream;
import com.rusefi.io.LinkManager; import com.rusefi.io.LinkManager;
import com.rusefi.io.commands.HelloCommand; import com.rusefi.io.commands.HelloCommand;
import com.rusefi.server.rusEFISSLContext; import com.rusefi.server.rusEFISSLContext;
@ -210,11 +211,10 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
int crc = in.readInt(); int crc = in.readInt();
int fromPacket = IoHelper.getCrc32(packet); int fromPacket = IoHelper.getCrc32(packet);
if (crc != fromPacket) if (crc != fromPacket)
throw new IllegalStateException("CRC mismatch " + crc + " vs " + fromPacket); throw new IllegalStateException("CRC mismatch " + crc + " vs " + fromPacket + " " + IoStream.printHexBinary(packet));
return new Packet(packet, crc); return new Packet(packet, crc);
} }
public interface Handler { public interface Handler {
void handle() throws IOException; void handle() throws IOException;
} }

View File

@ -61,8 +61,10 @@ public class NetworkConnector {
String vehicleName = Fields.VEHICLENAME.getStringValue(image); String vehicleName = Fields.VEHICLENAME.getStringValue(image);
String engineMake = Fields.ENGINEMAKE.getStringValue(image); String engineMake = Fields.ENGINEMAKE.getStringValue(image);
String engineCode = Fields.ENGINECODE.getStringValue(image); String engineCode = Fields.ENGINECODE.getStringValue(image);
ControllerInfo ci = new ControllerInfo(vehicleName, engineMake, engineCode, controllerSignature); //ControllerInfo ci = new ControllerInfo(vehicleName, engineMake, engineCode, controllerSignature);
// todo: request vehicle info from controller
ControllerInfo ci = new ControllerInfo("vehicle", "make", "code", controllerSignature);
SessionDetails deviceSessionDetails = new SessionDetails(ci, authToken, SessionDetails.createOneTimeCode()); SessionDetails deviceSessionDetails = new SessionDetails(ci, authToken, SessionDetails.createOneTimeCode());
BaseBroadcastingThread baseBroadcastingThread = new BaseBroadcastingThread(rusEFISSLContext.getSSLSocket(HttpUtil.RUSEFI_PROXY_HOSTNAME, serverPortForControllers), BaseBroadcastingThread baseBroadcastingThread = new BaseBroadcastingThread(rusEFISSLContext.getSSLSocket(HttpUtil.RUSEFI_PROXY_HOSTNAME, serverPortForControllers),

View File

@ -21,6 +21,7 @@ import javax.json.JsonArrayBuilder;
import javax.json.JsonObject; import javax.json.JsonObject;
import java.io.Closeable; import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.net.BindException;
import java.net.Socket; import java.net.Socket;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
@ -56,21 +57,25 @@ public class Backend implements Closeable {
new Thread(() -> { new Thread(() -> {
try { try {
System.out.println("Starting http backend on " + httpPort); System.out.println("Starting http backend on " + httpPort);
new FtBasic( try {
new TkFork(showOnlineUsers, new FtBasic(
Monitoring.showStatistics, new TkFork(showOnlineUsers,
new FkRegex(VERSION_PATH, BACKEND_VERSION), Monitoring.showStatistics,
new FkRegex("/", new RsHtml("<html><body>\n" + new FkRegex(VERSION_PATH, BACKEND_VERSION),
"<a href='https://rusefi.com/online/'>rusEFI Online</a>\n" + new FkRegex("/", new RsHtml("<html><body>\n" +
"<br/>\n" + "<a href='https://rusefi.com/online/'>rusEFI Online</a>\n" +
"<a href='" + Monitoring.STATUS + "'>Status</a>\n" + "<br/>\n" +
"<br/>\n" + "<a href='" + Monitoring.STATUS + "'>Status</a>\n" +
"<a href='" + ProxyClient.LIST_PATH + "'>List</a>\n" + "<br/>\n" +
"<br/>\n" + "<a href='" + ProxyClient.LIST_PATH + "'>List</a>\n" +
"<br/>\n" + "<br/>\n" +
"</body></html>\n")) "<br/>\n" +
), httpPort "</body></html>\n"))
).start(() -> isClosed); ), httpPort
).start(() -> isClosed);
} catch (BindException e) {
throw new IllegalStateException("While binding " + httpPort, e);
}
logger.info("Shutting down backend on port " + httpPort); logger.info("Shutting down backend on port " + httpPort);
} catch (IOException e) { } catch (IOException e) {
throw new IllegalStateException(e); throw new IllegalStateException(e);