Packages

p

quasar

main

package main

Concrete effect types and their interpreters that implement the quasar functionality.

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. main
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait BackendConfig extends slamdata.Predef.Product with slamdata.Predef.Serializable
  2. final case class ClassName(value: slamdata.Predef.String) extends slamdata.Predef.AnyVal with Product with Serializable
  3. final case class ClassPath(value: IList[File]) extends slamdata.Predef.AnyVal with Product with Serializable
  4. final case class CmdLineConfig(configPath: slamdata.Predef.Option[FsFile], loadConfig: BackendConfig, cmd: Cmd) extends Product with Serializable
  5. type CoreEff[A] = Coproduct[MetaStoreLocation, CoreEff0, A]
  6. type CoreEff0[A] = Coproduct[Module, CoreEff1, A]
  7. type CoreEff1[A] = Coproduct[Mounting, CoreEff2, A]
  8. type CoreEff2[A] = Coproduct[Analyze, CoreEff3, A]
  9. type CoreEff3[A] = Coproduct[QueryFile, CoreEff4, A]
  10. type CoreEff4[A] = Coproduct[ReadFile, CoreEff5, A]
  11. type CoreEff5[A] = Coproduct[WriteFile, CoreEff6, A]
  12. type CoreEff6[A] = Coproduct[ManageFile, CoreEff7, A]
  13. type CoreEff7[A] = Coproduct[VCacheKVS, CoreEff8, A]
  14. type CoreEff8[A] = Coproduct[Timing, CoreErrs, A]
  15. type CoreEffIO[A] = Coproduct[Task, CoreEff, A]

    Effect comprising the core Quasar apis.

    Effect comprising the core Quasar apis. NB: CoM is avoided due to significantly longer compile times at usage sites.

  16. type CoreEffIORW[A] = Coproduct[VCacheExpR, CoreEffIOW, A]
  17. type CoreEffIOW[A] = Coproduct[VCacheExpW, CoreEffIO, A]
  18. type CoreErrs[A] = Coproduct[Failure, CoreErrs1, A]

    The types of failure from core apis.

  19. type CoreErrs0[A] = Coproduct[MountingFailure, FileSystemFailure, A]
  20. type CoreErrs1[A] = Coproduct[PathMismatchFailure, CoreErrs0, A]
  21. final case class FS(core: ~>[BackendEffect, QErrs_TaskM], mounting: ~>[Mounting, QErrs_TaskM], shutdown: Task[slamdata.Predef.Unit]) extends Product with Serializable
  22. class FilesystemQueries[S[_]] extends AnyRef
  23. type FsAsk[A] = Read[BackendDef[PhysFsEffM], A]
  24. type HierarchicalFsEff[A] = Coproduct[PhysFsEffM, HierarchicalFsEff0, A]
  25. type HierarchicalFsEff0[A] = Coproduct[MountedResultH, MonotonicSeq, A]
  26. type HierarchicalFsEffM[A] = Free[HierarchicalFsEff, A]

    The effects required by hierarchical FileSystem operations.

  27. type HierarchicalFsRef[A] = AtomicRef[~>[BackendEffect, [β$12$]Free[[A]Coproduct[[A]Free[[A]Coproduct[Task, [A]Failure[PhysicalError, A], A], A], [A]Coproduct[[A]KeyValueStore[ResultHandle, (Path[Abs, Dir, Sandboxed], ResultHandle), A], MonotonicSeq, A], A], β$12$]], A]
  28. type MainErrT[F[_], A] = EitherT[F, slamdata.Predef.String, A]
  29. type MainTask[A] = EitherT[Task, slamdata.Predef.String, A]
  30. sealed abstract class MetaStoreLocation[A] extends AnyRef
  31. type MountEff[A] = Coproduct[PhysFsEffM, MountEff0, A]
  32. type MountEff0[A] = Coproduct[HierarchicalFsRef, MountedFsRef, A]
  33. type MountEffM[A] = Free[MountEff, A]

    Effects required for mounting.

  34. type MountedFsRef[A] = AtomicRef[Mounts[DefinitionResult[PhysFsEffM]], A]
  35. type PhysFsEff[A] = Coproduct[Task, PhysErr, A]
  36. type PhysFsEffM[A] = Free[PhysFsEff, A]

    Effects that physical filesystems are permitted.

  37. type QErrs[A] = Coproduct[PhysErr, CoreErrs, A]

    All possible types of failure in the system (apis + physical).

  38. type QErrs_CRW_Task[A] = Coproduct[[A]Read[AnyRef { ... /* 2 definitions in type refinement */ }, A], [A]Coproduct[[A]Write[AnyRef { ... /* 2 definitions in type refinement */ }, A], [A]Coproduct[Task, [A]Coproduct[[A]Failure[PhysicalError, A], [A]Coproduct[[A]Failure[Error, A], [A]Coproduct[[A]Failure[PathTypeMismatch, A], [A]Coproduct[[A]Failure[MountingError, A], [A]Failure[FileSystemError, A], A], A], A], A], A], A], A]
  39. type QErrs_CRW_TaskM[A] = Free[QErrs_CRW_Task, A]
  40. type QErrs_Task[A] = Coproduct[Task, QErrs, A]
  41. type QErrs_TaskM[A] = Free[QErrs_Task, A]
  42. final case class Quasar(interp: ~>[CoreEff, QErrs_CRW_TaskM], shutdown: Task[slamdata.Predef.Unit]) extends Product with Serializable

    The Quasar Filesystem.

    The Quasar Filesystem. Contains the CoreEff that can be used to interpret most operations. Also has convenience methods for executing common operation within Task. The shutdown task should be called once you are done with it.

    shutdown

    Trigger the underlying connector drivers to shutdown cleanly.

  43. final case class QuasarAPIImpl[F[_]](inter: ~>[CoreEff, F])(implicit evidence$1: Monad[F]) extends Product with Serializable

    The top level Quasar programmatic API.

    The top level Quasar programmatic API. Not yet complete, but will be made more exhaustive over time.

Value Members

  1. val MainTask: MonadError[[γ$0$]EitherT[Task, String, γ$0$], slamdata.Predef.String]
  2. val QuasarAPI: QuasarAPIImpl[[β$1$]Free[[A]Coproduct[MetaStoreLocation, [A]Coproduct[Module, [A]Coproduct[Mounting, [A]Coproduct[Analyze, [A]Coproduct[QueryFile, [A]Coproduct[ReadFile, [A]Coproduct[WriteFile, [A]Coproduct[ManageFile, [A]Coproduct[[A]KeyValueStore[Path[Abs, File, Sandboxed], ViewCache, A], [A]Coproduct[Timing, [A]Coproduct[[A]Failure[Error, A], [A]Coproduct[[A]Failure[PathTypeMismatch, A], [A]Coproduct[[A]Failure[MountingError, A], [A]Failure[FileSystemError, A], A], A], A], A], A], A], A], A], A], A], A], A], A], β$1$]]
  3. def attemptMountAll[S[_]](config: MountingsConfig)(implicit S: :<:[Mounting, S]): Free[S, slamdata.Predef.Map[APath, slamdata.Predef.String]]

    Mount all the mounts defined in the given configuration, returning the paths that failed to mount along with the reasons why.

  4. def connectionIOToTask(metaRef: TaskRef[MetaStore]): ~>[ConnectionIO, Task]
  5. def initMetaStoreOrStart[C](config: CmdLineConfig, start: (C, ~>[CoreEff, QErrs_CRW_TaskM]) ⇒ MainTask[slamdata.Predef.Boolean], persist: (DbConnectionConfig) ⇒ MainTask[slamdata.Predef.Unit])(implicit arg0: DecodeJson[C], configOps: ConfigOps[C]): MainTask[slamdata.Predef.Unit]

    Either initialize the metastore or execute the start depending on what command is provided by the user in the command line arguments

    Either initialize the metastore or execute the start depending on what command is provided by the user in the command line arguments

    start

    The body of logic, should return true whether to shutdown quasar or not

  6. def initUpdateMigrate[A](schema: Schema[A], tx: Transactor[Task], cfgFile: slamdata.Predef.Option[FsFile]): MainTask[slamdata.Predef.Unit]

    Initialize or update MetaStore Schema and migrate mounts from config file

  7. val log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  8. val logFailedMount: ((APath, slamdata.Predef.String)) ⇒ Task[slamdata.Predef.Unit]

    Prints a warning about the mount failure to the console.

  9. def mountHandler[S[_]](implicit S: :<:[FsAsk, S]): Free[S, MountRequestHandler[PhysFsEffM, HierarchicalFsEff]]

    Provides the mount handlers to update the hierarchical filesystem whenever a mount is added or removed.

  10. def physicalFileSystems(config: BackendConfig): Task[BackendDef[PhysFsEffM]]

    The physical filesystems currently supported.

    The physical filesystems currently supported. Please note that it is really best if you only sequence this task once per runtime. It won't misbehave, but it will waste resources if you run it multiple times. Thus, all uses of the value from this Task should be handled by Read[BackendDef[PhysFsEffM], ?] (or an analogous Kleisli).

    Annotations
    @SuppressWarnings()
  11. object BackendConfig extends Serializable

    APaths relative to real filesystem root

  12. object Caching
  13. object CompositeFileSystem

    A FileSystem supporting filesystems mounted at various points in the hierarchy.

  14. object CoreEff
  15. object HierarchicalFsEff
  16. object KvsMounter
  17. object MetaStoreLocation
  18. object MountEff
  19. object PhysFsEff
  20. object Prettify
  21. object QErrs
  22. object QErrs_CRW_Task
  23. object Quasar extends Serializable
  24. object analysis
  25. object config
  26. object metastore

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped