implement libproxify signature-based protocol selector