{"_id":"57e0fd038929550e00f1d9c2","parentDoc":null,"__v":0,"category":{"_id":"57e0f141ff540c22007b45fa","version":"5703d527bb69fc1700553ce3","__v":0,"project":"5703d527bb69fc1700553ce0","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-20T08:20:17.405Z","from_sync":false,"order":3,"slug":"mtproto-module","title":"MTProto module"},"user":"5631f962c3b04b0d00ba9bf1","version":{"_id":"5703d527bb69fc1700553ce3","hasDoc":true,"__v":6,"hasReference":true,"project":"5703d527bb69fc1700553ce0","createdAt":"2016-04-05T15:09:27.620Z","releaseDate":"2016-04-05T15:09:27.620Z","categories":["5703d527bb69fc1700553ce4","5703d8b7aceacc17003ef303","5703e60b6116142000db25f6","57e0db616a1c2e0e0081fe64","57e0f141ff540c22007b45fa","57e0f14b8929550e00f1d9bc"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.0.6","version":"0.0.6"},"githubsync":"","project":"5703d527bb69fc1700553ce0","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-20T09:10:27.687Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"This package handle all the network I/O. As of today, the only protocol implemented is TCP.\nIn the future it may also contain an HTTP implementation.\n\n# MTProtoTcpConnection\nThis class is implementing a TCP connection using java's nio `SocketChannel`. The main reason behind this choice was to be able to use `Selectors`. By doing this, we can listen for messages in `n` connections in a unique thread, which improves scalability greatly.\n\nNote: In a standard Telegram client, you'll have one main connection, and a few (3 or 4 max) connections to upload/download files.","excerpt":"com.github.badoualy.telegram.mtproto.transport","slug":"transport-package","type":"basic","title":"Transport package"}

Transport package

com.github.badoualy.telegram.mtproto.transport

This package handle all the network I/O. As of today, the only protocol implemented is TCP. In the future it may also contain an HTTP implementation. # MTProtoTcpConnection This class is implementing a TCP connection using java's nio `SocketChannel`. The main reason behind this choice was to be able to use `Selectors`. By doing this, we can listen for messages in `n` connections in a unique thread, which improves scalability greatly. Note: In a standard Telegram client, you'll have one main connection, and a few (3 or 4 max) connections to upload/download files.