Upvote:6
Generally speaking, many people need a visa to transit in Canada. Most airports have no facilities or specific exemptions for transit (see a previous question about visa rules for flight connections). The main exceptions I could find are:
For the last two exemptions, I assume the airline should apply on your behalf and would let you know if you qualify (i.e. read the fine print and ask about it, don't just show up at the airport).
The official site has a Find out if you need a visa page where you can enter your nationality and see the relevant rules. In your case, as a citizen from Sri Lanka with a student visa in the US, it appears that you do need a visa in any case.