From bc1aa49115defae960e9978472dbcdfb06e97d81 Mon Sep 17 00:00:00 2001 From: Brett Laptop Date: Thu, 16 Nov 2023 20:29:46 -0500 Subject: [PATCH] otel working --- .idea/compiler.xml | 13 +++ .idea/encodings.xml | 7 ++ .idea/jarRepositories.xml | 20 ++++ .idea/modules.xml | 8 -- Assignment 2 Java.iml | 23 +--- ...ntelemetry-exporter-otlp-common-1.31.0.jar | Bin 0 -> 105707 bytes ...elemetry-exporter-sender-okhttp-1.31.0.jar | Bin 0 -> 23778 bytes ...sdk-extension-autoconfigure-spi-1.31.0.jar | Bin 0 -> 16910 bytes pom.xml | 104 ++++++++++++++++++ .../ChunkedCompressedChecksumFileWriter.java | 0 src/{ => main/java}/client/Client.java | 3 + .../ChunkedCompressedChecksumFileReader.java | 29 +++-- src/{ => main/java}/server/Connection.java | 48 +++++--- src/{ => main/java}/server/FileHeader.java | 0 src/{ => main/java}/server/Server.java | 27 ++++- src/{ => main/java}/shared/ArrayData.java | 0 .../java}/shared/ExceptionLogger.java | 0 src/{ => main/java}/shared/FileUtil.java | 15 ++- src/{ => main/java}/shared/OTelUtils.java | 38 ++++++- .../ChunkedCompressedChecksumFileWriter.class | Bin 0 -> 3070 bytes target/classes/client/Client.class | Bin 0 -> 3502 bytes .../ChunkedCompressedChecksumFileReader.class | Bin 0 -> 4133 bytes target/classes/server/Connection.class | Bin 0 -> 4744 bytes target/classes/server/FileHeader.class | Bin 0 -> 962 bytes target/classes/server/Server$1.class | Bin 0 -> 1347 bytes target/classes/server/Server.class | Bin 0 -> 3794 bytes target/classes/shared/ArrayData.class | Bin 0 -> 547 bytes target/classes/shared/ExceptionLogger.class | Bin 0 -> 1534 bytes target/classes/shared/FileUtil$COMMAND.class | Bin 0 -> 1186 bytes .../FileUtil$InvalidUsageException.class | Bin 0 -> 472 bytes target/classes/shared/FileUtil.class | Bin 0 -> 5683 bytes target/classes/shared/OTelUtils.class | Bin 0 -> 6645 bytes .../compile/default-compile/createdFiles.lst | 13 +++ .../compile/default-compile/inputFiles.lst | 10 ++ 34 files changed, 296 insertions(+), 62 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml delete mode 100644 .idea/modules.xml create mode 100644 libs/opentelemetry-exporter-otlp-common-1.31.0.jar create mode 100644 libs/opentelemetry-exporter-sender-okhttp-1.31.0.jar create mode 100644 libs/opentelemetry-sdk-extension-autoconfigure-spi-1.31.0.jar create mode 100644 pom.xml rename src/{ => main/java}/client/ChunkedCompressedChecksumFileWriter.java (100%) rename src/{ => main/java}/client/Client.java (93%) rename src/{ => main/java}/server/ChunkedCompressedChecksumFileReader.java (70%) rename src/{ => main/java}/server/Connection.java (51%) rename src/{ => main/java}/server/FileHeader.java (100%) rename src/{ => main/java}/server/Server.java (60%) rename src/{ => main/java}/shared/ArrayData.java (100%) rename src/{ => main/java}/shared/ExceptionLogger.java (100%) rename src/{ => main/java}/shared/FileUtil.java (87%) rename src/{ => main/java}/shared/OTelUtils.java (58%) create mode 100644 target/classes/client/ChunkedCompressedChecksumFileWriter.class create mode 100644 target/classes/client/Client.class create mode 100644 target/classes/server/ChunkedCompressedChecksumFileReader.class create mode 100644 target/classes/server/Connection.class create mode 100644 target/classes/server/FileHeader.class create mode 100644 target/classes/server/Server$1.class create mode 100644 target/classes/server/Server.class create mode 100644 target/classes/shared/ArrayData.class create mode 100644 target/classes/shared/ExceptionLogger.class create mode 100644 target/classes/shared/FileUtil$COMMAND.class create mode 100644 target/classes/shared/FileUtil$InvalidUsageException.class create mode 100644 target/classes/shared/FileUtil.class create mode 100644 target/classes/shared/OTelUtils.class create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..de0587d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 842dc8b..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Assignment 2 Java.iml b/Assignment 2 Java.iml index 29498dd..a80f8af 100644 --- a/Assignment 2 Java.iml +++ b/Assignment 2 Java.iml @@ -1,27 +1,8 @@ - - - - - - + + - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libs/opentelemetry-exporter-otlp-common-1.31.0.jar b/libs/opentelemetry-exporter-otlp-common-1.31.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..f949314316f5a0c6d37aacc42ce491a1b5959e08 GIT binary patch literal 105707 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 literal 0 HcmV?d00001 diff --git a/libs/opentelemetry-exporter-sender-okhttp-1.31.0.jar b/libs/opentelemetry-exporter-sender-okhttp-1.31.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..ba0b9722beace82c8108e53f88087f443594cd08 GIT binary patch literal 23778 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 literal 0 HcmV?d00001 diff --git a/libs/opentelemetry-sdk-extension-autoconfigure-spi-1.31.0.jar b/libs/opentelemetry-sdk-extension-autoconfigure-spi-1.31.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..8afafa8404c7ddf65acef8ba5e7a60a9e1e89ae3 GIT binary patch literal 16910 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 BSu+3t literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..d97ee55 --- /dev/null +++ b/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + ca.brock.3P95.Assignemnt2 + FemboyInternational + 0.69.420 + + + 17 + 17 + UTF-8 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + + + + + + + io.opentelemetry + opentelemetry-bom + 1.32.0 + pom + import + + + + + + io.opentelemetry + opentelemetry-api + + + io.opentelemetry + opentelemetry-sdk + + + io.opentelemetry + opentelemetry-sdk-metrics + + + io.opentelemetry + opentelemetry-exporter-logging + + + io.opentelemetry + opentelemetry-exporter-otlp + + + io.opentelemetry + opentelemetry-exporter-otlp-common + + + io.opentelemetry + opentelemetry-exporter-jaeger-proto + + + io.opentelemetry + opentelemetry-sdk-extension-autoconfigure + + + io.opentelemetry + opentelemetry-sdk-extension-autoconfigure-spi + + + + + io.opentelemetry.semconv + opentelemetry-semconv + 1.22.0-alpha + + + + + + + + + + + + + + + + + org.lz4 + lz4-java + 1.8.0 + + + \ No newline at end of file diff --git a/src/client/ChunkedCompressedChecksumFileWriter.java b/src/main/java/client/ChunkedCompressedChecksumFileWriter.java similarity index 100% rename from src/client/ChunkedCompressedChecksumFileWriter.java rename to src/main/java/client/ChunkedCompressedChecksumFileWriter.java diff --git a/src/client/Client.java b/src/main/java/client/Client.java similarity index 93% rename from src/client/Client.java rename to src/main/java/client/Client.java index 26d4852..6b66fe5 100644 --- a/src/client/Client.java +++ b/src/main/java/client/Client.java @@ -41,12 +41,15 @@ public class Client { public void close(){ try { + out.writeByte(FileUtil.COMMAND.CLOSE.type); + out.flush(); in.close(); out.close(); serverConnection.close(); } catch (Exception e){ ExceptionLogger.log(e); } + System.out.println("Disconnected!"); } public static void main(String[] args) { diff --git a/src/server/ChunkedCompressedChecksumFileReader.java b/src/main/java/server/ChunkedCompressedChecksumFileReader.java similarity index 70% rename from src/server/ChunkedCompressedChecksumFileReader.java rename to src/main/java/server/ChunkedCompressedChecksumFileReader.java index 1902fcb..5f2b378 100644 --- a/src/server/ChunkedCompressedChecksumFileReader.java +++ b/src/main/java/server/ChunkedCompressedChecksumFileReader.java @@ -1,5 +1,9 @@ package server; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.Tracer; +import io.opentelemetry.context.Context; +import io.opentelemetry.context.Scope; import net.jpountz.xxhash.StreamingXXHash64; import shared.ArrayData; import shared.FileUtil; @@ -7,6 +11,7 @@ import shared.FileUtil; import java.io.*; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.concurrent.TimeUnit; public class ChunkedCompressedChecksumFileReader { @@ -22,14 +27,24 @@ public class ChunkedCompressedChecksumFileReader { this.seed = seed; } - public FileHeader readChunk() throws IOException { + public FileHeader readChunk(Tracer trace, Span sp) throws IOException { + //Span gf = trace.spanBuilder("Chunk Read").setParent(Context.current().with(sp)).startSpan(); FileHeader header = readHeader(); - if (header.getUncompressed() == 0) - return header; - byte[] data = readSome(header); - byte[] decompressed = decompress(header, data); - hash(header, decompressed); - fileOutputWriter.write(decompressed, 0, decompressed.length); + //try (Scope scope = gf.makeCurrent()) { + if (header.getUncompressed() == 0) + return header; + sp.addEvent("Read Data"); + byte[] data = readSome(header); + sp.addEvent("Decompress Data"); + byte[] decompressed = decompress(header, data); + sp.addEvent("Hash"); + hash(header, decompressed); + sp.addEvent("Write"); + fileOutputWriter.write(decompressed, 0, decompressed.length); + sp.addEvent("End"); +// } finally { +// gf.end(); +// } return header; } diff --git a/src/server/Connection.java b/src/main/java/server/Connection.java similarity index 51% rename from src/server/Connection.java rename to src/main/java/server/Connection.java index d607024..ca484fd 100644 --- a/src/server/Connection.java +++ b/src/main/java/server/Connection.java @@ -4,6 +4,7 @@ import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanBuilder; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Context; +import io.opentelemetry.context.Scope; import shared.ExceptionLogger; import shared.FileUtil; @@ -17,22 +18,21 @@ public class Connection implements Runnable { private final Server server; private DataOutputStream out; private DataInputStream in; + private Tracer trace; private Span fileSend; public Connection(Server server, Tracer trace, Span parent, Socket clientSocket) { this.server = server; this.clientSocket = clientSocket; + this.trace = trace; try { out = new DataOutputStream(new BufferedOutputStream(clientSocket.getOutputStream())); in = new DataInputStream(new BufferedInputStream(clientSocket.getInputStream())); } catch (Exception e) { ExceptionLogger.log(e); } - parent.addEvent("Connection Established", System.nanoTime(), TimeUnit.NANOSECONDS); + parent.addEvent("Connection Established"); SpanBuilder sb = trace.spanBuilder("New Connection"); - Context ctx = Context.current(); - parent.storeInContext(ctx); - sb.setParent(ctx); sb.setAttribute("INetAddress", clientSocket.getInetAddress().toString()); sb.setAttribute("Port", clientSocket.getPort()); sb.setAttribute("LocalPort", clientSocket.getLocalPort()); @@ -41,19 +41,37 @@ public class Connection implements Runnable { @Override public void run() { - while (server.isRunning()) { - if (!clientSocket.isConnected()) - break; - try { - if (in.available() > 0) { - byte command = in.readByte(); - - if (command == FileUtil.COMMAND.WRITE.type) - FileUtil.receive(in, fileSend); + try (Scope scope = fileSend.makeCurrent()) { + int filesReceived = 0; + while (server.isRunning()) { + System.out.println("Hello " + clientSocket.isConnected()); + if (!clientSocket.isConnected()) { + System.out.println("Client Disconnected"); + break; + } + try { + if (in.available() > 0) { + fileSend.addEvent("File Received"); + Span fileIn = trace.spanBuilder("File Received").setAttribute("Files Received", filesReceived).startSpan(); + try (Scope s = fileIn.makeCurrent()){ + byte command = in.readByte(); + + if (command == FileUtil.COMMAND.CLOSE.type) { + System.out.println("Client sent disconnect signal!"); + break; + } + if (command == FileUtil.COMMAND.WRITE.type) + FileUtil.receive(in, trace, fileIn); + } finally { + fileIn.end(); + } + } + } catch (IOException e) { + throw new RuntimeException(e); } - } catch (IOException e) { - throw new RuntimeException(e); } + } finally { + fileSend.end(); } try { out.close(); diff --git a/src/server/FileHeader.java b/src/main/java/server/FileHeader.java similarity index 100% rename from src/server/FileHeader.java rename to src/main/java/server/FileHeader.java diff --git a/src/server/Server.java b/src/main/java/server/Server.java similarity index 60% rename from src/server/Server.java rename to src/main/java/server/Server.java index e977793..b5efc3f 100644 --- a/src/server/Server.java +++ b/src/main/java/server/Server.java @@ -3,7 +3,9 @@ package server; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanBuilder; +import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; +import io.opentelemetry.context.Scope; import shared.ExceptionLogger; import shared.OTelUtils; @@ -25,12 +27,25 @@ public class Server { public Server() { Tracer main = ot.getTracer("Main Server", "0.69"); - System.out.println("Starting server"); - SpanBuilder sb = main.spanBuilder("Start Server"); - Span sbs = sb.startSpan(); - try { + Span sbs = main.spanBuilder("Start Server").setAttribute("Server Port", SERVER_PORT).startSpan(); + try (Scope scope = sbs.makeCurrent()) { + System.out.println("Starting server"); sbs.addEvent("Server Start", System.nanoTime(), TimeUnit.NANOSECONDS); ServerSocket serverSocket = new ServerSocket(SERVER_PORT); + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + System.out.println("Closing Server"); + running = false; + sbs.end(); + executor.shutdown(); + try { + serverSocket.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); System.out.println("Server Started"); while (running) @@ -40,8 +55,12 @@ public class Server { } catch (IOException e) { sbs.recordException(e); ExceptionLogger.log(e); + } finally { + sbs.end(); } + System.out.println("Closing thread pool"); executor.shutdown(); + System.out.println("Server exited!"); } public boolean isRunning(){ diff --git a/src/shared/ArrayData.java b/src/main/java/shared/ArrayData.java similarity index 100% rename from src/shared/ArrayData.java rename to src/main/java/shared/ArrayData.java diff --git a/src/shared/ExceptionLogger.java b/src/main/java/shared/ExceptionLogger.java similarity index 100% rename from src/shared/ExceptionLogger.java rename to src/main/java/shared/ExceptionLogger.java diff --git a/src/shared/FileUtil.java b/src/main/java/shared/FileUtil.java similarity index 87% rename from src/shared/FileUtil.java rename to src/main/java/shared/FileUtil.java index 1450780..3d7d9b7 100644 --- a/src/shared/FileUtil.java +++ b/src/main/java/shared/FileUtil.java @@ -2,6 +2,7 @@ package shared; import client.ChunkedCompressedChecksumFileWriter; import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.Tracer; import net.jpountz.lz4.LZ4Compressor; import net.jpountz.lz4.LZ4Factory; import net.jpountz.lz4.LZ4FastDecompressor; @@ -28,7 +29,8 @@ public class FileUtil { public static final XXHash64 HASH_64 = XX_HASH_FACTORY.hash64(); public enum COMMAND { - WRITE((byte) 1); + CLOSE((byte) 1), + WRITE((byte) 2); public final byte type; COMMAND(byte type) { @@ -57,21 +59,26 @@ public class FileUtil { } } - public static void receive(DataInputStream dataIn, Span fs) { + public static void receive(DataInputStream dataIn, Tracer trace, Span sp) { try { String path = createPath(dataIn.readUTF()); - fs.addEvent("Sending file " + path, System.nanoTime(), TimeUnit.NANOSECONDS); + sp.addEvent("Sending file " + path); System.out.println("Writing to file: " + path); + sp.setAttribute("File", path); + sp.addEvent("File Received"); ChunkedCompressedChecksumFileReader reader = new ChunkedCompressedChecksumFileReader(dataIn, path, FileUtil.SEED); // ugh I want while(reader.readChunk().getUncompressed()); but it makes warnings!!! while(true) { - if (reader.readChunk().getUncompressed() == 0) + if (reader.readChunk(trace, sp).getUncompressed() == 0) { + sp.addEvent("Chunk Read"); break; + } } reader.close(); System.out.println("Writing " + path + " complete"); + sp.addEvent("File Written"); } catch (Exception e) { ExceptionLogger.log(e); } diff --git a/src/shared/OTelUtils.java b/src/main/java/shared/OTelUtils.java similarity index 58% rename from src/shared/OTelUtils.java rename to src/main/java/shared/OTelUtils.java index b20ce60..256949e 100644 --- a/src/shared/OTelUtils.java +++ b/src/main/java/shared/OTelUtils.java @@ -8,7 +8,7 @@ import io.opentelemetry.context.propagation.TextMapPropagator; import io.opentelemetry.exporter.logging.LoggingMetricExporter; import io.opentelemetry.exporter.logging.LoggingSpanExporter; import io.opentelemetry.exporter.logging.SystemOutLogRecordExporter; -import io.opentelemetry.javaagent.shaded.io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter; import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor; @@ -17,11 +17,13 @@ import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader; import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; +import io.opentelemetry.semconv.ResourceAttributes; public class OTelUtils { - public static OpenTelemetry create(){ - Resource resource = Resource.getDefault().toBuilder().put(ResourceAttributes.SERVICE_NAME.getKey(), "cum").put(ResourceAttributes.SERVICE_VERSION.getKey(), "0.1.0").build(); + public static OpenTelemetry createLogger(){ + Resource resource = Resource.getDefault().toBuilder().put(ResourceAttributes.SERVICE_NAME, "cum").put(ResourceAttributes.SERVICE_VERSION, "0.1.0").build(); SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder() .addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create())) @@ -46,4 +48,34 @@ public class OTelUtils { .buildAndRegisterGlobal(); } + public static OpenTelemetry create(){ + Resource resource = Resource.getDefault().toBuilder().put(ResourceAttributes.SERVICE_NAME.getKey(), "cum").put(ResourceAttributes.SERVICE_VERSION.getKey(), "0.1.0").build(); + + SpanExporter otlpExporter = OtlpGrpcSpanExporter.builder() + .setEndpoint("http://sc.on.underlying.skynet.tpgc.me:4317") + .build(); + + SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder() + .addSpanProcessor(SimpleSpanProcessor.create(otlpExporter)) + .setResource(resource) + .build(); + + SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder() + .registerMetricReader(PeriodicMetricReader.builder(LoggingMetricExporter.create()).build()) + .setResource(resource) + .build(); + + SdkLoggerProvider sdkLoggerProvider = SdkLoggerProvider.builder() + .addLogRecordProcessor(BatchLogRecordProcessor.builder(SystemOutLogRecordExporter.create()).build()) + .setResource(resource) + .build(); + + return OpenTelemetrySdk.builder() + .setTracerProvider(sdkTracerProvider) + .setMeterProvider(sdkMeterProvider) + .setLoggerProvider(sdkLoggerProvider) + .setPropagators(ContextPropagators.create(TextMapPropagator.composite(W3CTraceContextPropagator.getInstance(), W3CBaggagePropagator.getInstance()))) + .buildAndRegisterGlobal(); + } + } diff --git a/target/classes/client/ChunkedCompressedChecksumFileWriter.class b/target/classes/client/ChunkedCompressedChecksumFileWriter.class new file mode 100644 index 0000000000000000000000000000000000000000..2cb0de65f93079a4d9d6166ebc093e06f773f565 GIT binary patch literal 3070 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 literal 0 HcmV?d00001 diff --git a/target/classes/server/Connection.class b/target/classes/server/Connection.class new file mode 100644 index 0000000000000000000000000000000000000000..520ea35f93a7f633125770b55ca8414fca181d1f GIT binary patch literal 4744 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 D*s`e4 literal 0 HcmV?d00001 diff --git a/target/classes/server/Server$1.class b/target/classes/server/Server$1.class new file mode 100644 index 0000000000000000000000000000000000000000..93d94ca444c1ffeed81c2ab166b9843d7eee4ccd GIT binary patch literal 1347 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 krB3+%8NBlE|5i2_@Bjb+ literal 0 HcmV?d00001 diff --git a/target/classes/shared/ArrayData.class b/target/classes/shared/ArrayData.class new file mode 100644 index 0000000000000000000000000000000000000000..40925d00625d0e5e2ae8a54b372a2faf73311286 GIT binary patch literal 547 zcmZut+e*Vg5IviwO&ims#=BOqZ*2tg0bZb0ghJ5=r67IUrc0X=Q%JXh|Kx*$MexB7 z@T0`pG>8^in9JFjb7toA>-_`3DfUfh$QjTr;6~-lA&-C#-Ti8 z$kiL&5{f7pFfFXWqVnm8Ct~0?lY~EBaLF0;LF%+#OV!#I98?%A9>^JwIwBs*5d&)z zZ@t%QH@ehuJ{brGrxV8FYIffj$t~|kgt(naz@sitLX~HrE=S>1{Vhu$GZ;f5vnlG0 zUW+&hX#P>AB}m)6naq+vT!u=<{+a$rZI2qwtKx@4f;6m=b)l0jk}c6QVH4dtAqR^#Y+#czB1mOe8Yv--1h%l9$@t{e pU*3C#@l3&jypV!+N@y(#GD3zO>=L48{M}rBT55LxZQe_(s^4;uQhERY literal 0 HcmV?d00001 diff --git a/target/classes/shared/ExceptionLogger.class b/target/classes/shared/ExceptionLogger.class new file mode 100644 index 0000000000000000000000000000000000000000..9a939287d581212a6d184b5afa5de23b7199f1ca GIT binary patch literal 1534 zcmaJ>%W@M(6g_Q89?dYuMA+C47>2|c$v6l|LV^Y6q1b^$0#b6>i>%sGmo#`Zqnc^C z;;i!#S!a`VvM^O%@Bvxo5AqjTg`AlYwp3PGrRqC<`##P+_jdpF-_bh&kMM(q31kdp zZR9X1aN&*Imt{}-?eeSLH>#-xCLg-KtJeiG#nQHkJWK0i!#Eihj zF;N7JUL4c&nWmWLNdPm6>$fYV?L00C*k)DsBh_+t57rzD^H?zOv5m{P@*!;EwDBP| zwQZ$qK~s9}&#F~dQ6$?+V5V3)oufeVuG+W;M_{fi_f$3Tn^Nz%y2GzXOJ7F<%j3|U z4wlC!0#jx~%jTY=L)lcMVIE61ZeW=wgq56a#YX~8vGn6e5V|Et8=mSaUso&?Q8KV% z<5pbk<&&14gc;ZhLIcSu1Ure=u#M4P}B{ z6m!bD&L)f;C(P7kFTrkrzE&gXhfTHV#s$tC<4U=>9dpX@e-;EfV#|7Ur8_|@nx4cn z3srn$U?U!nO@XBo`dxoN*i+?{?{s1|Wm5;?fxxfBEDQ|OpwFe>@>H}`3xd6VuQEbM zGVnv15y!2Ao*H95%td;~E5j2$2vL=u*KoDsoqf(unWo6&J3a=c`BXcC*XxDvtFY?H zC{mGuy1+$z?am-&VMu5B<0SZFbY$Ln2zOaDpw9McZ5Y?puSE?-KVu%_0@Ol znfuwzR@y|}+U(%Gp eI*%vtm_dN^{CY~4Z+at(_g>8{RFUtWd$LDf##vvu=aDWZO7X2Y-gfa+1y;+ zdKH6!tRakuK)6`07$t#JxdS-Q=%|L6kAC}RW4pwWE)5#G1(b>EYI&z*2n@dKSVBb{ z2?gC6dXc1_HK*=c0(}|1d}N-OImdJla+SR!tLEiZ^x>|8ehmY-C(!d3P;y(x)bPY~ zT2|$~z(S@iyXctBX1*<8cn#Y<$hUXk0)G8L4fl~2h!kws_Lc?u+e-zR8+w%oeV}0& zBP5vj@dI%dYf*$%ijQ-R2@?6X)HS^tMT}t&HDsW(PCoCZKsuv$R*E=XBqA|lha80k( zAe@|`k;n&yniEJSWjHY1me2AQI`UY~3#dlD)u>tQM}h8ZTh8(oQ|&FQ>8;nBo&ti# z|Fffjw&A)~!@p;X*eQXTSLR6NK61Uhl445(w31mV(#tmoBnH{4v=37}3!U)Ov>T(9 zAN3UKSM*#W{)u)1kLVro&xQ#GUXCK2od*~E|jbIX8m;%@8r%bLm=g-4mJduPa6b<2NLS=IW z{B*xIO&$ILu`8WIGIr%tD8|jPqL{}*kX9sF_!<9BS;WdHyG literal 0 HcmV?d00001 diff --git a/target/classes/shared/FileUtil$InvalidUsageException.class b/target/classes/shared/FileUtil$InvalidUsageException.class new file mode 100644 index 0000000000000000000000000000000000000000..286e2ee3fc3ed12618ab17639bdc3d40b893aa18 GIT binary patch literal 472 zcma)3%T7Wu5IqCPg)4}HXyVR9<13L5K-mzDBsVNXNOV`A!J5)*+Cuy-S0*m}06)q& z^%0G_uuVEMr>Cc<)907RCjiG-kC8z(Lau}b|;^(r-l z{E;%sw+Qv!#%5mdVY1#KmZ*|OEXf^ITG5M~QYo}vLs3gkB z?rb`g_CgFbBh@4w2|W;2h57@``D^6}JITM)n}n?MHfa5_Nr-#t%#LI*NGN~$JPb@i zp(~v~OP!Cf%I(rIBGmX)@f8_laTfpp literal 0 HcmV?d00001 diff --git a/target/classes/shared/FileUtil.class b/target/classes/shared/FileUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..c220a9a7b39883ce642875fa0f611e3c1cbe8b13 GIT binary patch literal 5683 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 literal 0 HcmV?d00001 diff --git a/target/classes/shared/OTelUtils.class b/target/classes/shared/OTelUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..91742e6720d4bc37576b6fd2668fdca3ee5eb56b GIT binary patch literal 6645 zcmbtY340sW6+JJuGqy5Kh#R1!VGqQ1VvR#W7Ry;|MgNmx|f#j`@Z*g^y_&VYq4fVk*WQCnwd9q?>+b2d*5c* z1K5NAM6d#F3ffh4V5PuCr}eYCmeF%*ZEEhck#q!B4w*UA*(=c2(>ohMC%P0wRIGw3 zu*tMED{tf+BV%L@$6nA1sWX~w6s)41Gz!}E;+;SwZ8!&vJM?0PDmVA^j<+ZolNML2 zSc8iMx*ThyXl7D|EpS8YIu>POUFgQk6|7TnF)kqrKLjJ2v~p*wu!kMTHs^|tQ4mlQ z@#)#I(fG;9;fc6FpWgvJZ)!;^o3(OURq(K}5bMM%NM5p-jbJ@qsbGVO%W;K3)NenK zysFD>`69{7^|Wq!yfK`ymWi(??J5;lOUBkzIGBx3C&s2GJ8`W*$3S#zbU^xcor>#a zR&>nCAVtuFUIl$BHe-vxmOyVETTdEVB6Vg)-q=TM>#SK0uTs__1HCgW&>^xF;1NWj zDHu?(6*man=(BH}%UiZ%*jmO)r%h)3xOYwD^;~@M9n(K)8@gi%><+@wiVmjmcHF37 zheWb72#G8j&l^vlmN2vVj3I%L5f)OxA`!;}0`Hfs10NRbMdIqU6XR|SDu}5V!XANb zKDKI>e9>BDoU@0XN;QDin}S~Q@de;E=148hyRlEjehdq&Di}^}&N&rg+dn`3AErlT z(jO2Q2uhD8q>=HPa8SV^Ss!Bp{eg_jN!3giWQ9x^%+*?f>HwXn;tkHNBvkGpJ;lEX2-%ItNT0BERbhbzX`Fu5QQ*d0x?KmN@y(yZ; zWU4|~XB%m=z%*M*@#*DI?8W6m1cyK<`*BJZvn~)eb+lf-m2ft*mXrZZ32eO({f$b9 z^$w&J%*z}$1Gf{*VXiIZ>XmCtefjPPGZ!pS%ephjD9Fm<%?S+o;_R!x!~z4Fohmv+ zFl{6)J5{UT{Xrm>p@9_Sai;=XQoub@a2c09TCCv_-AT?@k<=}2VP#w|T$QVM5SC^2 zLLnAwgcfmD!Cf*7&V`k6>-rdyAWjRFOlVF6`FssttKfAiUXQ!E$MuD`s)*T0I_grY zTErJ~5w0>-$8aj7ip$RV1)6djX1(md8)f~zN#JCN!Pe`y46UiHx5&8NBcL^9-KT;$ z--`Pb+%FUN0fFlRiJs!gW~Oqop^heteB-CJ^m+(yQ}A{b@4!35Ho+mn0&BUQY1|l} z2w^p3Hyjqm5St|CA-qe)yYU`w=V+cQLH)E97Sphq_NADApNjY61D^NH%eovFxIM)C z;7nPrbp;<3*x}0so(Ub}oTKG!E3c<@$K(lbh659Np7m88vg`;xgbyotOvU5)h`@fI z7I{4Mf>f{PmTjZu2#p;oc`jh5^7D=MDAlLD(*x3w@4kl7-j z0KFmof@aglS5NhP zj$C2B%kF^>dUc;=Ihp+8%rM2?BXtO}yHt z8weKn9PwhV)t43dh$PBw>YGd%yw%kRN9A}ahu?FA!eRpzwR7zL5)>CNJCC*9m%6y@Jg)4% zhF2FG50|j1g#Hq?x!Bd`Vy}yl@e<-C++4zxiy0TkIDFE@+(ZdR38zc2TsSTkIQ#|| zZ=NjS-pwu^+~VTlei!fUcn*&oYb)W=#Ig1gKAI@uQzd-P#g|>2e}Y&%{L@&+`}O?a zz-jSvY{C`j!K{u};In!9MJ!qg!$)j^5Jt4uu& zmt{n{o+Vx0137!vH_Dk2D3bN1B4z8ze{flDY>;-NTo)x6I!O z#vbhRZp03j*ONLE)+W4z328+G-US#9V0e^GV? G{{273Pq)MX literal 0 HcmV?d00001 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..de0ae23 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,13 @@ +shared/ExceptionLogger.class +server/Server$1.class +shared/FileUtil.class +server/Server.class +server/Connection.class +shared/ArrayData.class +server/ChunkedCompressedChecksumFileReader.class +client/ChunkedCompressedChecksumFileWriter.class +shared/FileUtil$InvalidUsageException.class +shared/OTelUtils.class +client/Client.class +server/FileHeader.class +shared/FileUtil$COMMAND.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..b46b305 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,10 @@ +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/client/Client.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/server/FileHeader.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/client/ChunkedCompressedChecksumFileWriter.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/server/ChunkedCompressedChecksumFileReader.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/shared/ArrayData.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/server/Server.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/server/Connection.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/shared/OTelUtils.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/shared/ExceptionLogger.java +/home/brett/Documents/Brock/CS 3P95/Assignments/Assignment 2 Java/src/main/java/shared/FileUtil.java