Append the specified move-insertable value to the back of this queue. If the queue is full, block until it is not full. value is left in a valid but unspecified state. Return 0 on success, and a non-zero value otherwise. Specifically, return e_SUCCESS on success, e_DISABLED if isPushBackDisabled() and e_FAILED if an error occurs. On failure, value is not changed. Threads blocked due to the queue being full will return e_DISABLED if disablePushBack is invoked.