public object bufsize = DefaultBufferSize; // Only present for compatibility with CPython public API public _fileobject(CodeContext/*!*/ context, object socket, [DefaultParameterValue("rb")]string mode, [DefaultParameterValue(-1)]int bufsize, [DefaultParameterValue(false)]bool close) : base(PythonContext.GetContext(context)) { _close = close; Stream stream; socket s = (socket as socket); if (s != null && s._socket.Connected) { _socket = s; stream = new NetworkStream(s._socket); } else { stream = new PythonUserSocketStream(context, socket, GetBufferSize(context, bufsize), close); } base.__init__(stream, System.Text.Encoding.Default, mode); }
public object bufsize = DefaultBufferSize; // Only present for compatibility with CPython public API public _fileobject(CodeContext/*!*/ context, object socket, [DefaultParameterValue("rb")]string mode, [DefaultParameterValue(-1)]int bufsize, [DefaultParameterValue(false)]bool close) : base(PythonContext.GetContext(context)) { Stream stream; _close = close; // subtypes of socket need to go through the user defined methods if (socket != null && socket.GetType() == typeof(socket) && ((socket)socket)._socket.Connected) { socket s = (socket as socket); _socket = s; stream = new NetworkStream(s._socket, false); } else { stream = new PythonUserSocketStream(socket, GetBufferSize(context, bufsize), close); } _isOpen = true; base.__init__(stream, System.Text.Encoding.Default, mode); }