Gatling Architecture - non-blocking/asynchronous

The docs note:

Gatling’s architecture is asynchronous as long as the underlying protocol, such as HTTP, can be implemented in a non blocking way.

Having worked with http://spray.io/, my understanding is that it provides a client and server for handling HTTP requests and responses via Future’s.

However, could you please say more as to “can be implemented in a non blocking way?”

Which protocols are not consistent with non-blocking/async?

Thanks

JDBC, LDAP the standard JNDI way, blocking HTTP clients such as HttpUrlConnection, etc