GetWritableStream() public method

public GetWritableStream ( ) : RubyBufferedStream
return RubyBufferedStream
コード例 #1
0
ファイル: IoOps.cs プロジェクト: ltwlf/IronSP
        public static int WriteNoBlock(RubyIO /*!*/ self, [NotNull] MutableString /*!*/ val)
        {
            var stream = self.GetWritableStream();

            try {
                stream.WriteTimeout = 0;
            } catch (InvalidOperationException) {
                throw RubyExceptions.CreateEBADF();
            }
            return(Write(self, val));
        }
コード例 #2
0
ファイル: IoOps.cs プロジェクト: ltwlf/IronSP
        public static int SysWrite(BinaryOpStorage /*!*/ writeStorage, ConversionStorage <MutableString> /*!*/ tosConversion,
                                   RubyContext /*!*/ context, RubyIO /*!*/ self, [NotNull] MutableString /*!*/ val)
        {
            RubyBufferedStream stream = self.GetWritableStream();

            if (stream.DataBuffered)
            {
                PrintOps.ReportWarning(writeStorage, tosConversion, MutableString.CreateAscii("syswrite for buffered IO"));
            }
            int bytes = Write(self, val);

            self.Flush();
            return(bytes);
        }
コード例 #3
0
ファイル: IoOps.cs プロジェクト: ghouston/ironlanguages
 public static int WriteNoBlock(RubyIO/*!*/ self, [NotNull]MutableString/*!*/ val) {
     var stream = self.GetWritableStream();
     int result = -1;
     self.NonBlockingOperation(() => result = Write(self, val), false);
     return result;
 }
コード例 #4
0
ファイル: IoOps.cs プロジェクト: ghouston/ironlanguages
        public static int SysWrite(BinaryOpStorage/*!*/ writeStorage, ConversionStorage<MutableString>/*!*/ tosConversion,
            RubyContext/*!*/ context, RubyIO/*!*/ self, [NotNull]MutableString/*!*/ val) {

            RubyBufferedStream stream = self.GetWritableStream();
            if (stream.DataBuffered) {
                PrintOps.ReportWarning(writeStorage, tosConversion, MutableString.CreateAscii("syswrite for buffered IO"));
            }
            int bytes = Write(self, val);
            self.Flush();
            return bytes;
        }
コード例 #5
0
ファイル: IoOps.cs プロジェクト: kevinkeeney/ironruby
 public static int WriteNoBlock(RubyIO/*!*/ self, [NotNull]MutableString/*!*/ val) {
     var stream = self.GetWritableStream();
     try {
         stream.WriteTimeout = 0;
     } catch (InvalidOperationException) {
         throw RubyExceptions.CreateEBADF();
     }
     return Write(self, val);
 }