Package

scala.pickling

internal

Permalink

package internal

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. internal
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. final class DefaultPicklerRegistry extends PicklerRegistry with CustomRuntime

    Permalink

    Default pickle registry just uses TrieMaps and delegates behavior to a runtime pickler generator.

  2. class DefaultRefPicklingRegistry extends RefPicklingRegistry

    Permalink
  3. final class DefaultRefRegistry extends RefRegistry

    Permalink

    Default implementation of the Ref registry that allows circular dependencies to be handled.

    Default implementation of the Ref registry that allows circular dependencies to be handled. Uses thread-local caches (per pickler/unpickler thread).

  4. class DefaultRefUnpicklingRegistry extends RefUnpicklingRegistry

    Permalink
  5. class DefaultRuntime extends PicklingRuntime

    Permalink

    The default implementation of a pickling runtime.

    The default implementation of a pickling runtime.

    Notes:

    • This supports circular reference handling via TLS buffers during pickling/unpickling
    • This supports runtime pickler/unpickler generation via scala reflection.
    • This uses an actual lock to keep reflective usages safe.
  6. class DefaultRuntimePicklerGenerator extends RuntimePicklerGenerator with CustomRuntime

    Permalink

    Default implementation of a runtime pickler generator

    Default implementation of a runtime pickler generator

    TODO - There is still something off here compared to the hardcoded versions.

    [error] scala.pickling.array.json.ArrayJsonTest [error] scala.pickling.externalizable.mapstatus.MapStatusTest [error] scala.pickling.runtimenulltest.NullRuntimeTest [error] scala.pickling.runtime.RuntimeArrayTests [error] scala.pickling.test.collection.WrappedArrayTest [error] scala.pickling.array.binary.ArrayBinaryTest [error] scala.pickling.test.runtime.array.RuntimeArrayTest

  7. class HybridRuntime extends PicklingRuntime

    Permalink

    This runtime will not use reflection to generate new picklers, but DOES allow lookup of statically generated picklers at runtime.

  8. final class NoPickleSharingRefRegistry extends RefRegistry

    Permalink

    An implementation which ensures that no newly generated picklers create shared references.

  9. final class NoReflectionRuntime extends PicklingRuntime

    Permalink

    An implementation of the pickling runtime that tries to avoid ALL runtime picklers, including runtime lookup of statically defined picklers.

  10. final class NoSharingRefPicklingRegistry extends RefPicklingRegistry

    Permalink

    An implementation of the RefRegistry which ensures NO sharing during pickling.

  11. final class NoSharingRefRegistry extends RefRegistry

    Permalink

    An implementation of ref sharing that ensures no references are created while pickling and none are looked up while unpickling.

  12. final class NoSharingRefUnpicklingRegistry extends RefUnpicklingRegistry

    Permalink

Value Members

  1. def GRL: ReentrantLock

    Permalink
  2. object NoRuntimePicklerGeneration extends RuntimePicklerGenerator

    Permalink

    A runtime pickler generator that just throws exceptions when trying to create picklers.

  3. object Reflect

    Permalink

    Helper method to aid in retrieving java.lang.reflect.Fields and java.lang.reflect.Methods at runtime.

  4. def currentMirror: Mirror

    Permalink
  5. def currentRuntime: PicklingRuntime

    Permalink
  6. def replaceRuntime(r: PicklingRuntime): Unit

    Permalink

    Replace the old PicklingRuntime keeping its state.

    Replace the old PicklingRuntime keeping its state. This operation is not thread-safe and it's expected to be executed in a single thread.

    Note that we don't do anything with the RefRegistry because in future versions we are going to change how cyclic references work.

Deprecated Value Members

  1. def clearPicklees(): Unit

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.pickle.clear instead

  2. def clearUnpicklees(): Unit

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.unpickle.clear instead

  3. def lookupPicklee(picklee: Any): Int

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.pickle.registerPicklee instead

  4. def lookupUnpicklee(index: Int): Any

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.unpickle.lookupUnpicklees instead

  5. def preregisterUnpicklee(): Int

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.unpickle.preregisterUnpicklee instead

  6. def registerPicklee(picklee: Any): Int

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.pickle.registerPicklee instead

  7. def registerUnpicklee(unpicklee: Any, index: Int): Unit

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) Use currentRuntime.refRegistry.unpickle.registerUnpicklee instead

Inherited from AnyRef

Inherited from Any

Ungrouped