Advertisement
Guest User

Untitled

a guest
Apr 4th, 2014
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.70 KB | None | 0 0
  1. trait Cake
  2.     extends OrderedBlockFileDSModule[IO]
  3.     with NettySyncModule[IO]
  4.     with VanillaServer[IO]
  5.     with IndexModuleImpl[IO] {
  6.  
  7.   override val M = IO.ioMonad
  8.  
  9.   def main(): IO[RRUnit] = for {
  10.     syncer <- Syncer(listener)
  11.     tracker = syncer.tracker
  12.    
  13.     data <- readDataFromUser
  14.     chunks = splitIntoChunks(data, Config.BlockSize)
  15.     blocks <- chunks traverse balloc
  16.     extent <- store(blocks)
  17.     _ <- extent.blocks traverse { block => tracker.publishBlock(block.hash, true) }
  18.     _ <- syncer.run.run
  19.   }
  20.  
  21.   def listener: StepT[Block, IO, A] = {
  22.     StepT.Cont { in =>
  23.       in.fold(
  24.         el = { block => putStrLn(block.hash) },
  25.         ....)
  26.     }
  27.   }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement