Hi,
Many of cgminer users are already using NiceHash.com, especially Scrypt and SHA256 ASIC miners; therefore it would be very nice if a small stratum protocol extension called mining.extranonce.subscribe (as described here
https://www.nicehash.com/software/#devs) would be implemented into cgminer.
I understand that this is a custom feature and I know you are not very fond of custom features. Nevertheless, there are already many custom features implemented in cgminer to support various ASIC devices and it would be really nice if you could do it since it would improve efficiency for users using cgminer when mining on NiceHash (because no disconnects would be needed when we switch buyers orders internally in our system - there is no other way for us to do it since we can't delegate the work any other way but to cut part of extranonce for ourself). Of course this can be implemented as an optional feature, enabled by a parameter (e.g. "extranonce-subscribe" : true).
It is especially important for this feature to be implemented in cgminer since the majority of ASIC device manufacturers grabs your cgminer, burns it into their devices and in some cases it is hard to put a custom (patched) version into such devices.
This feature has already been included, for example, in the latest sgminer (search for "extranonce" here:
https://github.com/nicehash/sgminer/commits/master) or in official sgminer GIT source code at
https://github.com/sgminer-dev/sgminer/commits/v5_0p.s.: I do realize that this is not an optimal implementation; it would be better to extend stratum protocol in such a way that it would make extensions easily auto-detectable, however we can probably consider the stratum protocol not to be worth spending too much time on, since it is a dead end as a centralized protocol ... that's why we proposed this kind of simplified patch.
Thanks and let me know if you need any help!