From a902c25c99c565f52f30d01fc96c11a1e70df78b Mon Sep 17 00:00:00 2001 From: trilero <trile@riseup.net> Date: Thu, 11 Apr 2024 17:06:35 +0200 Subject: [PATCH] [TBC] Unify heartbeat message inside P2P, it's where it belongs --- .../trile/domain/codecs/HeartbeatCodecs.scala | 50 ------------------- .../trile/domain/codecs/P2pCodecs.scala | 2 - .../devcon0/trile/domain/dtos/Heartbeat.scala | 8 --- .../trile/domain/dtos/pubsub/P2p.scala | 4 ++ 4 files changed, 4 insertions(+), 60 deletions(-) delete mode 100644 trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala delete mode 100644 trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala deleted file mode 100644 index ced5e88..0000000 --- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/HeartbeatCodecs.scala +++ /dev/null @@ -1,50 +0,0 @@ -package acab.devcon0.trile.domain.codecs - -import acab.devcon0.trile.domain.dtos.FederationControllerHeartbeatMessage -import acab.devcon0.trile.domain.dtos.FederationMemberHeartbeatMessage -import acab.devcon0.trile.domain.dtos.IpfsClusterPeer -import acab.devcon0.trile.domain.dtos.IpfsClusterPeerIpfsInfo -import acab.devcon0.trile.domain.dtos.IpfsClusterPeers -import cats.effect.IO -import io.circe._ -import io.circe.generic.semiauto.deriveDecoder -import io.circe.generic.semiauto.deriveEncoder -import io.circe.jawn.decode -import io.circe.syntax.EncoderOps - -object HeartbeatCodecs { - - object Encoders { - implicit val ipfsClusterPeerIpfsInfo: Encoder[IpfsClusterPeerIpfsInfo] = deriveEncoder - implicit val ipfsClusterPeers: Encoder[IpfsClusterPeers] = deriveEncoder - implicit val ipfsClusterPeer: Encoder[IpfsClusterPeer] = deriveEncoder - implicit val federationControllerHeartbeat: Encoder[FederationControllerHeartbeatMessage] = deriveEncoder - implicit val federationMemberHeartbeat: Encoder[FederationMemberHeartbeatMessage] = deriveEncoder - object FederationMemberHeartbeat { - def apply(dto: FederationMemberHeartbeatMessage): IO[String] = IO( - EncoderOps[FederationMemberHeartbeatMessage](dto).asJson.noSpaces - ) - } - object FederationControllerHeartbeat { - def apply(dto: FederationControllerHeartbeatMessage): IO[String] = IO( - EncoderOps[FederationControllerHeartbeatMessage](dto).asJson.noSpaces - ) - } - } - - object Decoders { - implicit val ipfsClusterPeerIpfsInfo: Decoder[IpfsClusterPeerIpfsInfo] = deriveDecoder - implicit val ipfsClusterPeers: Decoder[IpfsClusterPeers] = deriveDecoder - implicit val ipfsClusterPeer: Decoder[IpfsClusterPeer] = deriveDecoder - implicit val federationControllerHeartbeat: Decoder[FederationControllerHeartbeatMessage] = deriveDecoder - implicit val federationMemberHeartbeat: Decoder[FederationMemberHeartbeatMessage] = deriveDecoder - object FederationControllerHeartbeat { - def apply(rawJson: String): IO[FederationControllerHeartbeatMessage] = - IO.fromEither(decode[FederationControllerHeartbeatMessage](rawJson)) - } - object FederationMemberHeartbeat { - def apply(rawJson: String): IO[FederationMemberHeartbeatMessage] = - IO.fromEither(decode[FederationMemberHeartbeatMessage](rawJson)) - } - } -} diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala index 138bda8..845aaf9 100644 --- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala +++ b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/codecs/P2pCodecs.scala @@ -1,7 +1,5 @@ package acab.devcon0.trile.domain.codecs -import acab.devcon0.trile.domain.dtos.FederationControllerHeartbeatMessage -import acab.devcon0.trile.domain.dtos.FederationMemberHeartbeatMessage import acab.devcon0.trile.domain.dtos.IpfsClusterPeer import acab.devcon0.trile.domain.dtos.IpfsClusterPeerIpfsInfo import acab.devcon0.trile.domain.dtos.IpfsClusterPeers diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala deleted file mode 100644 index 42777fe..0000000 --- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/Heartbeat.scala +++ /dev/null @@ -1,8 +0,0 @@ -package acab.devcon0.trile.domain.dtos - -import java.time.Instant - -import acab.devcon0.trile.domain.dtos.aliases.IpfsCid - -final case class FederationControllerHeartbeatMessage(peers: List[IpfsClusterPeer]) -final case class FederationMemberHeartbeatMessage(ipfsPeerRootCid: IpfsCid, timestamp: Instant) diff --git a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala index 80d8317..6d17bbb 100644 --- a/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala +++ b/trile-backend-commons/src/main/scala/acab/devcon0/trile/domain/dtos/pubsub/P2p.scala @@ -2,6 +2,7 @@ package acab.devcon0.trile.domain.dtos.pubsub import java.time.Instant +import acab.devcon0.trile.domain.dtos.IpfsClusterPeer import acab.devcon0.trile.domain.dtos.aliases._ object P2p { @@ -22,6 +23,9 @@ object P2p { final case class FederationMemberCheckInAck(to: P2pPeerId) final case class FederationMemberCheckInNack(to: P2pPeerId) + final case class FederationControllerHeartbeatMessage(peers: List[IpfsClusterPeer]) + final case class FederationMemberHeartbeatMessage(ipfsPeerRootCid: IpfsCid, timestamp: Instant) + object Keys { val request: P2pMessageKey = "REQUEST" val ack: P2pMessageKey = "ACK" -- GitLab