My understanding is that a coordinator maintains a small (seems like 14 maximum entries) Child Table of active endpoints. An endpoint that has an entry in the table doesn’t have to rejoin the network in order to send a message, so its response time is faster than one that has to re-join first. The Child Poll Timeout determines how long each inactive endpoint stays in the table before being bumped off. My question is: what happens if the child table is full when another sleepy endpoint not currently in the table wakes up to send a message? Is its join request refused, or is one of the existing entries bumped off to make room for the newcomer?
I have a network consisting of a coordinator and a bunch of sleepy endpoints who sleep most of the time. The endpoints are send-only, i.e. they don’t wake up periodically to check for messages from the coordinator. The ≈6 second rejoin time for endpoints not in the child table represents a significant amount of battery power, so I’d like to increase the child poll timeout to its maximum, but of course I cannot have a situation where an endpoint gets locked out because the child table is full.