Most discussion is on Typelevel Discord: https://discord.gg/bSQBZA3Ced
@joesinghaus I get the feeling that the complex bits of utf8Decode
(continuationBytes
, processSingleChunk
, lastIncompleteBytes
) are there to deal with the complexities of utf8.
I don't have a specific encoding in mind, I want this to be generic, so writing my own isn't really an option if I have to do something similar for every possible encoding?
The generic part doPull
doesn't seem too complex, have you thought how to be generic over possible format? that will require different logic since encodings are different
Stream.fixedDelay(5.minutes) zip Stream.repeatEval(apiCall)
apiCall
level by returning an empty Stream (and potentially logging ofc)
Segment
is of Unit
Timer
ContextShift
, I need to have a closer look at the PR
Ec
being ok implicitly because there's the CPU one as a good default still applies here
Time[F]
typeclass, the runtime gives you an implementation", e.g. IOApp
trait ContextShift[F[_]] {
def shift: F[Unit]
def evalOn[A](ec: ExecutionContext)(fa: F[A]): F[A]
}
Pull
to a Stream
R
needs to Unit