{-# LANGUAGE DeriveGeneric #-}
{-|
Module      : Instana.SDK.Internal.Command
Description : Commands that can be send to the worker
-}
module Instana.SDK.Internal.Command
  ( Command(..)
  ) where


import           Instana.SDK.Span.EntrySpan (EntrySpan)
import           Instana.SDK.Span.ExitSpan  (ExitSpan)


-- |A command that can be send to the worker.
data Command =
  -- |CompleteEntry entrySpan
  CompleteEntry EntrySpan
  -- |CompleteExit exitSpan
  | CompleteExit ExitSpan
  deriving (Int -> Command -> ShowS
[Command] -> ShowS
Command -> String
(Int -> Command -> ShowS)
-> (Command -> String) -> ([Command] -> ShowS) -> Show Command
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Command] -> ShowS
$cshowList :: [Command] -> ShowS
show :: Command -> String
$cshow :: Command -> String
showsPrec :: Int -> Command -> ShowS
$cshowsPrec :: Int -> Command -> ShowS
Show)