It happens pretty much real time. While using cURL or the .NET client it doesn't return a response until the indexing is finished. You can verify this by querying your index for some basic info. For example you could even just put the following in the browser:
http://hostname:9200/_cat/indices
The 6th column gives you the number of records indexed. Send your request and refresh the browser.