summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/replica/replica2/ResourceAvailability.java
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-28 17:32:28 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-28 17:32:28 -0500
commitd267dd1dda606f0c56d8afaa7187485e60ebfd86 (patch)
treee1bca5933aa7e5e9793773057fd5616ff65a9eb8 /src/main/java/derms/replica/replica2/ResourceAvailability.java
parent6654546671eea9f9becd32b3160a134802659cbc (diff)
downloadsoen423-d267dd1dda606f0c56d8afaa7187485e60ebfd86.zip
move replica2 to top level
Diffstat (limited to 'src/main/java/derms/replica/replica2/ResourceAvailability.java')
-rw-r--r--src/main/java/derms/replica/replica2/ResourceAvailability.java128
1 files changed, 0 insertions, 128 deletions
diff --git a/src/main/java/derms/replica/replica2/ResourceAvailability.java b/src/main/java/derms/replica/replica2/ResourceAvailability.java
deleted file mode 100644
index 8bfa7bb..0000000
--- a/src/main/java/derms/replica/replica2/ResourceAvailability.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package derms.replica.replica2;
-
-import java.io.IOException;
-import java.net.DatagramPacket;
-import java.net.DatagramSocket;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.util.Collection;
-import java.util.logging.Logger;
-
-class ResourceAvailability {
- static final int port = 5556;
-
- static class Client implements Runnable {
- private InetAddress serverAddr;
- private ResourceType request;
- private Collection<Resource> resources;
- private Logger log;
-
- Client(InetAddress serverAddr, ResourceType request, Collection<Resource> response) throws IOException {
- this.serverAddr = serverAddr;
- this.request = request;
- this.resources = response;
- this.log = DermsLogger.getLogger(this.getClass());
- }
-
- @Override
- public void run() {
- DatagramSocket sock;
- try {
- sock = new DatagramSocket();
- } catch (Exception e) {
- log.severe("Error binding socket: "+e.getMessage());
- return;
- }
- log.fine("Created socket");
-
- DatagramPacket reqPkt;
- try {
- reqPkt = ObjectPacket.create(request, new InetSocketAddress(serverAddr, port));
- } catch (IOException e) {
- log.severe("Error creating request: "+e.getMessage());
- sock.close();
- return;
- }
-
- try {
- sock.send(reqPkt);
- } catch (IOException e) {
- log.severe("Error sending request: "+e.getMessage());
- sock.close();
- return;
- }
- log.fine("Sent request");
-
- Resource[] response;
- try {
- response = ResourceTransfer.receive(sock);
- } catch (IOException e) {
- log.severe(e.getMessage());
- return;
- } finally {
- sock.close();
- }
-
- for (Resource resource : response) {
- resources.add(resource);
- }
- }
- }
-
- static class Server implements Runnable {
- static final int bufsize = 1024;
-
- private InetAddress localAddr;
- private Resources resources;
- private Logger log;
-
- Server(InetAddress localAddr, Resources resources) throws IOException {
- this.localAddr = localAddr;
- this.resources = resources;
- this.log = DermsLogger.getLogger(this.getClass());
- }
-
- @Override
- public void run() {
- DatagramSocket sock = null;
- try {
- sock = new DatagramSocket(port, localAddr);
- } catch (Exception e) {
- log.severe("Failed to bind socket to "+localAddr.toString()+": "+e.getMessage());
- return;
- }
-
- log.info("Listening on "+localAddr.toString()+":"+port);
-
- DatagramPacket request = new DatagramPacket(new byte[bufsize], bufsize);
- try {
- for (;;) {
- try {
- sock.receive(request);
- } catch (Exception e) {
- log.warning("Error receiving from socket: "+e.getMessage());
- continue;
- }
-
- ResourceType requestedName = null;
- try {
- requestedName = ObjectPacket.deserialize(request, ResourceType.class);
- } catch (IOException e) {
- log.warning("Failed to deserialize request: "+e.getMessage());
- continue;
- }
- log.info("Got request: "+requestedName);
-
- Resource[] response = resources.getByName(requestedName);
- try {
- ResourceTransfer.send(response, request.getSocketAddress());
- } catch (IOException e) {
- log.warning("Error transfering resources: "+e.getMessage());
- }
- }
- } finally {
- sock.close();
- }
- }
- }
-}