#!/usr/bin/env bash

FD="$1"

# hardcoded sizes
SIZE_A=$((64 * 1024))                 # 64KB
SIZE_B=$((8 * 1024 * 1024))           # 8MB
SIZE_C=$((8 * 1024 * 1024 * 1024))    # 8GB

FD_PATH="/proc/$PID/fd/$FD"

if [[ ! -e "$FD_PATH" ]]; then
    echo "invalid fd"
    exit 1
fi

SIZE=$(stat -c%s "$FD_PATH" 2>/dev/null)

echo "size: $SIZE"

link() {
    name="$1"
    ln -sf "$FD_PATH" "/dev/shm/$name"
    echo "linked -> /dev/shm/$name"
}

if [[ "$SIZE" -eq "$SIZE_A" ]]; then
    link "match_64kb"
elif [[ "$SIZE" -eq "$SIZE_B" ]]; then
    link "match_8mb"
elif [[ "$SIZE" -eq "$SIZE_C" ]]; then
    link "match_8gb"
else
    echo "no match"
fi
