Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ QueueOrCreateFtpDataStream()

PipelineInstruction System.Net.FtpControlStream.QueueOrCreateFtpDataStream ( ref Stream stream)
inlineprivate

Definition at line 197 of file FtpControlStream.cs.

198 {
199 if (_dataSocket == null)
200 {
201 throw new System.Net.InternalException();
202 }
203 if (_tlsStream != null)
204 {
205 stream = new FtpDataStream(_tlsStream, (FtpWebRequest)_request, IsFtpDataStreamWriteable());
206 _tlsStream = null;
207 return PipelineInstruction.GiveStream;
208 }
210 if (base.UsingSecureStream)
211 {
212 FtpWebRequest ftpWebRequest = (FtpWebRequest)_request;
213 TlsStream tlsStream = new TlsStream(networkStream, _dataSocket, ftpWebRequest.RequestUri.Host, ftpWebRequest.ClientCertificates);
215 if (_isAsync)
216 {
218 tlsStream.BeginAuthenticateAsClient(s_SSLHandshakeCallback, this);
219 return PipelineInstruction.Pause;
220 }
221 tlsStream.AuthenticateAsClient();
222 }
223 stream = new FtpDataStream(networkStream, (FtpWebRequest)_request, IsFtpDataStreamWriteable());
224 return PipelineInstruction.GiveStream;
225 }
static readonly AsyncCallback s_SSLHandshakeCallback

References System.Net.FtpControlStream._dataSocket, System.Net.CommandStream._isAsync, System.Net.CommandStream._request, System.Net.FtpControlStream._tlsStream, System.Net.FtpControlStream.IsFtpDataStreamWriteable(), System.Net.NetworkStreamWrapper.NetworkStream, System.Net.FtpControlStream.s_SSLHandshakeCallback, and System.stream.

Referenced by System.Net.FtpControlStream.PipelineCallback().