add SHORestrictionMessage and start work for NIO