From 914e6a10b98681f9db2ba4a611c62888570b09db Mon Sep 17 00:00:00 2001
From: Able <abl3theabove@gmail.com>
Date: Sun, 16 Mar 2025 19:37:28 -0500
Subject: [PATCH] breakage

---
 lib/rl_repo.ex             |  8 +++++++-
 lib/rl_repo/application.ex |  1 +
 lib/router/router.ex       | 25 +++++++++++++++++++++++++
 lib/router/router_api.ex   | 15 +++++++++++++++
 4 files changed, 48 insertions(+), 1 deletion(-)
 create mode 100644 lib/router/router.ex
 create mode 100644 lib/router/router_api.ex

diff --git a/lib/rl_repo.ex b/lib/rl_repo.ex
index 62aed95..3bc61a7 100644
--- a/lib/rl_repo.ex
+++ b/lib/rl_repo.ex
@@ -13,8 +13,14 @@ defmodule RlRepo do
 
     Logger.info("Listening on port #{port}")
 
-    # Spawn RepoLookup
+    # Spawn the router.
+    Task.Supervisor.start_child(Router, fn ->
+      Router.start()
+    end)
 
+
+
+    # Spawn RepoLookup
     Task.Supervisor.start_child(RlRepo.QueryServices, fn ->
       RepoLookup.start_repo_lookup()
     end)
diff --git a/lib/rl_repo/application.ex b/lib/rl_repo/application.ex
index f97509f..38dcb39 100644
--- a/lib/rl_repo/application.ex
+++ b/lib/rl_repo/application.ex
@@ -11,6 +11,7 @@ defmodule RlRepo.Application do
 
     children = [
       {Task.Supervisor, name: RlRepo.QueryServices},
+      {Task.Supervisor, name: Router},
 
       # Starts a worker by calling: RlRepo.Worker.start_link(arg)
       # {RlRepo.Worker, arg}
diff --git a/lib/router/router.ex b/lib/router/router.ex
new file mode 100644
index 0000000..4e59b24
--- /dev/null
+++ b/lib/router/router.ex
@@ -0,0 +1,25 @@
+defmodule Router do
+  require Logger
+
+  def start() do
+    info = %{routes: %{}}
+    Process.register(self(), :router)
+
+    loop_router(info)
+  end
+
+  defp loop_router(info) do
+    receive do
+      {:route, value, return_pid} ->
+        Logger.info "Route recieved #{value}"
+        send(return_pid, {:route, :exists, "template example."})
+        # code
+      {:route, :register, route, template} ->
+        Logger.info "Route registration attempt."
+    end
+
+
+
+    loop_router(info)
+  end
+end
diff --git a/lib/router/router_api.ex b/lib/router/router_api.ex
new file mode 100644
index 0000000..2458799
--- /dev/null
+++ b/lib/router/router_api.ex
@@ -0,0 +1,15 @@
+defmodule Router.RouterApi do
+  require Logger
+
+  # Search for a route.
+  def lookup_route(route) do
+    send(:router, {:route, route, self()})
+
+    receive do
+      {:route, :exists, template} ->
+        Logger.info "Found route."
+        # code
+    end
+
+  end
+end