diff --git a/project/ProjectPlugin.scala b/project/ProjectPlugin.scala index 1227c44..c5b5d1d 100644 --- a/project/ProjectPlugin.scala +++ b/project/ProjectPlugin.scala @@ -11,7 +11,7 @@ object ProjectPlugin extends AutoPlugin { object autoImport { lazy val V = new { - val catsEffect = "2.5.2" + val catsEffect = "3.2.1" val log4cats = "1.1.1" val logbackClassic = "1.2.5" val mu = "0.21.3" diff --git a/server/src/main/scala/com/fortysevendeg/smarthome/server/app/ServerApp.scala b/server/src/main/scala/com/fortysevendeg/smarthome/server/app/ServerApp.scala index 39a4154..6404003 100644 --- a/server/src/main/scala/com/fortysevendeg/smarthome/server/app/ServerApp.scala +++ b/server/src/main/scala/com/fortysevendeg/smarthome/server/app/ServerApp.scala @@ -9,8 +9,9 @@ import com.fortysevendeg.smarthome.protocol.services._ import com.permutive.pubsub.producer.PubsubProducer import higherkindness.mu.rpc.server.{AddService, GrpcServer} import io.chrisdavenport.log4cats.Logger +import cats.effect.Temporal -class ServerProgram[F[_]: ConcurrentEffect: Timer] extends ServerBoot[F] { +class ServerProgram[F[_]: ConcurrentEffect: Temporal] extends ServerBoot[F] { override def serverProgram( config: SmartHomeServerConfig diff --git a/server/src/main/scala/com/fortysevendeg/smarthome/server/process/SmartHomeServiceHandler.scala b/server/src/main/scala/com/fortysevendeg/smarthome/server/process/SmartHomeServiceHandler.scala index e299034..9cd250f 100644 --- a/server/src/main/scala/com/fortysevendeg/smarthome/server/process/SmartHomeServiceHandler.scala +++ b/server/src/main/scala/com/fortysevendeg/smarthome/server/process/SmartHomeServiceHandler.scala @@ -7,8 +7,9 @@ import com.fortysevendeg.smarthome.protocol.messages._ import com.fortysevendeg.smarthome.protocol.services._ import fs2._ import io.chrisdavenport.log4cats.Logger +import cats.effect.Temporal -class SmartHomeServiceHandler[F[_]: Async: Logger: Timer: TemperatureReader: SmartHomeSupervisor] +class SmartHomeServiceHandler[F[_]: Async: Logger: Temporal: TemperatureReader: SmartHomeSupervisor] extends SmartHomeService[F] { val serviceName = "SmartHomeService" diff --git a/server/src/main/scala/com/fortysevendeg/smarthome/server/process/TemperatureReader.scala b/server/src/main/scala/com/fortysevendeg/smarthome/server/process/TemperatureReader.scala index a046ba5..6d4187f 100644 --- a/server/src/main/scala/com/fortysevendeg/smarthome/server/process/TemperatureReader.scala +++ b/server/src/main/scala/com/fortysevendeg/smarthome/server/process/TemperatureReader.scala @@ -9,18 +9,19 @@ import io.chrisdavenport.log4cats.Logger import scala.concurrent.duration._ import scala.math.BigDecimal.RoundingMode import scala.util.Random +import cats.effect.Temporal trait TemperatureReader[F[_]] { def sendSamples: Stream[F, Temperature] } object TemperatureReader { - implicit def instance[F[_]: Sync: Logger: Timer]: TemperatureReader[F] = + implicit def instance[F[_]: Sync: Logger: Temporal]: TemperatureReader[F] = new TemperatureReader[F] { val seed = Temperature(77d, Some(TemperatureUnit("Fahrenheit"))) def readTemperature(current: Temperature): F[Temperature] = - Timer[F] + Temporal[F] .sleep(1.second) .flatMap(_ => Sync[F].delay {