I'm trying to understand what gRPC does at a high level.
Does it send data over a good old AF_INET
style socket? If not, how does it actually transmit data?
Think of grpc like a regular http client/server except it use Http 2 which provides some extra features and it uses Protobuf as the encoding of the requests/responses. So it does typically use AF_INET sockets, but in most languages it can also use Unix domain sockets and in some languages, it supports in process ipc.