So currently, if machineId isn't provided the default is to get the 16 lower bits of the private ip, but in case the user provides BitsMachineId = 10 and not the MachineId in that case also the lib will try to set the machineId to 16 lower bits of the private ip which will raise the ErrInvalidMachineID because of
sf.machine >= 1<<sf.bitsMachine {
return nil, ErrInvalidMachineID
}
So currently, if machineId isn't provided the default is to get the 16 lower bits of the private ip, but in case the user provides BitsMachineId = 10 and not the MachineId in that case also the lib will try to set the machineId to 16 lower bits of the private ip which will raise the ErrInvalidMachineID because of