func decodeData(packet *Packet, messageArray []string) {
	switch packet.DBAction {
	case "read", "delete":
		packet.KeyList = decodeKeyData(packet.ValType, messageArray)
		if packet.ParentNS != "" {
			PrefixKeyParentNamespace(packet)
		}
	case "push":
		packet.HashMap = decodeKeyValData(packet.ValType, messageArray)
		if packet.ParentNS != "" {
			PrefixKeyValParentNamespace(packet)
		}
	default:
		packet.DBAction = "ERROR"
	}
}
/*
decodeData handles Packet formation based on DBAction.
Handles TimeDot and pre-pending of ParentNS.
package goshare
import (
	"fmt"
	"strings"
	golhashmap "github.com/abhishekkr/gol/golhashmap"
	gollist "github.com/abhishekkr/gol/gollist"
	goltime "github.com/abhishekkr/gol/goltime"
)
type Packet struct {
	DBAction string
	TaskType string
	KeyType string  
	ValType string  
	HashMap golhashmap.HashMap
	KeyList []string
	ParentNS string  
	TimeDot  goltime.Timestamp
}
type FunkAxnParamKeyVal func(key string, val string) bool
type FunkAxnParamKey func(key string) bool
type FunkAxnParamKeyReturnMap func(key string) golhashmap.HashMap
func CreatePacket(packetArray []string) Packet {
	packet := Packet{}
	packet.HashMap = make(golhashmap.HashMap)
	lenPacketArray := len(packetArray)
	if lenPacketArray < 3 {
		packet.DBAction = "ERROR"
		return packet
	}
	packet.DBAction = packetArray[0]
	packet.TaskType = packetArray[1]
	dataStartsFrom := 2
	taskTypeTokens := strings.Split(packet.TaskType, "-")
	packet.KeyType = taskTypeTokens[0]
	if packet.KeyType == "tsds" && packet.DBAction == "push" {
		if lenPacketArray < 9 {
			packet.DBAction = "ERROR"
			return packet
		}
		packet.TimeDot = goltime.CreateTimestamp(packetArray[2:8])
		dataStartsFrom += 6
	}
	if len(taskTypeTokens) > 1 {
		packet.ValType = taskTypeTokens[1]
		if len(taskTypeTokens) == 3 {
			thirdTokenFeature(&packet, packetArray, &dataStartsFrom, taskTypeTokens[2])
		}
	}
	decodeData(&packet, packetArray[dataStartsFrom:])
	return packet
}
func thirdTokenFeature(packet *Packet, packetArray []string, dataStartsFrom *int, token string) {
	switch token {
	case "parent":
		packet.ParentNS = packetArray[*dataStartsFrom]
		(*dataStartsFrom)++
	}
}