queue struct