Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Buffered output stream implements FilterOutputStream
and provides
for buffered writes.
By default, 'GI.Gio.Objects.BufferedOutputStream.BufferedOutputStream'\'s buffer size is set at 4 kilobytes.
To create a buffered output stream, use bufferedOutputStreamNew
,
or bufferedOutputStreamNewSized
to specify the buffer's size
at construction.
To get the size of a buffer within a buffered input stream, use
bufferedOutputStreamGetBufferSize
. To change the size of a
buffered output stream's buffer, use
bufferedOutputStreamSetBufferSize
. Note that the buffer's
size cannot be reduced below the size of the data within the buffer.
- newtype BufferedOutputStream = BufferedOutputStream (ManagedPtr BufferedOutputStream)
- class GObject o => IsBufferedOutputStream o
- toBufferedOutputStream :: IsBufferedOutputStream o => o -> IO BufferedOutputStream
- noBufferedOutputStream :: Maybe BufferedOutputStream
- data BufferedOutputStreamGetAutoGrowMethodInfo
- bufferedOutputStreamGetAutoGrow :: (HasCallStack, MonadIO m, IsBufferedOutputStream a) => a -> m Bool
- data BufferedOutputStreamGetBufferSizeMethodInfo
- bufferedOutputStreamGetBufferSize :: (HasCallStack, MonadIO m, IsBufferedOutputStream a) => a -> m Word64
- bufferedOutputStreamNew :: (HasCallStack, MonadIO m, IsOutputStream a) => a -> m BufferedOutputStream
- bufferedOutputStreamNewSized :: (HasCallStack, MonadIO m, IsOutputStream a) => a -> Word64 -> m BufferedOutputStream
- data BufferedOutputStreamSetAutoGrowMethodInfo
- bufferedOutputStreamSetAutoGrow :: (HasCallStack, MonadIO m, IsBufferedOutputStream a) => a -> Bool -> m ()
- data BufferedOutputStreamSetBufferSizeMethodInfo
- bufferedOutputStreamSetBufferSize :: (HasCallStack, MonadIO m, IsBufferedOutputStream a) => a -> Word64 -> m ()
- data BufferedOutputStreamAutoGrowPropertyInfo
- bufferedOutputStreamAutoGrow :: AttrLabelProxy "autoGrow"
- constructBufferedOutputStreamAutoGrow :: IsBufferedOutputStream o => Bool -> IO (GValueConstruct o)
- getBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> m Bool
- setBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> Bool -> m ()
- data BufferedOutputStreamBufferSizePropertyInfo
- bufferedOutputStreamBufferSize :: AttrLabelProxy "bufferSize"
- constructBufferedOutputStreamBufferSize :: IsBufferedOutputStream o => Word32 -> IO (GValueConstruct o)
- getBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> m Word32
- setBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> Word32 -> m ()
Exported types
newtype BufferedOutputStream Source #
GObject BufferedOutputStream Source # | |
IsObject BufferedOutputStream Source # | |
IsOutputStream BufferedOutputStream Source # | |
IsFilterOutputStream BufferedOutputStream Source # | |
IsSeekable BufferedOutputStream Source # | |
IsBufferedOutputStream BufferedOutputStream Source # | |
((~) * info (ResolveBufferedOutputStreamMethod t BufferedOutputStream), MethodInfo * info BufferedOutputStream p) => IsLabel t (BufferedOutputStream -> p) Source # | |
((~) * info (ResolveBufferedOutputStreamMethod t BufferedOutputStream), MethodInfo * info BufferedOutputStream p) => IsLabelProxy t (BufferedOutputStream -> p) Source # | |
HasAttributeList * BufferedOutputStream Source # | |
type AttributeList BufferedOutputStream Source # | |
type SignalList BufferedOutputStream Source # | |
class GObject o => IsBufferedOutputStream o Source #
Methods
getAutoGrow
data BufferedOutputStreamGetAutoGrowMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsBufferedOutputStream a) => MethodInfo * BufferedOutputStreamGetAutoGrowMethodInfo a signature Source # | |
bufferedOutputStreamGetAutoGrow Source #
:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) | |
=> a |
|
-> m Bool | Returns: |
Checks if the buffer automatically grows as data is added.
getBufferSize
data BufferedOutputStreamGetBufferSizeMethodInfo Source #
((~) * signature (m Word64), MonadIO m, IsBufferedOutputStream a) => MethodInfo * BufferedOutputStreamGetBufferSizeMethodInfo a signature Source # | |
bufferedOutputStreamGetBufferSize Source #
:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) | |
=> a |
|
-> m Word64 | Returns: the current size of the buffer. |
Gets the size of the buffer in the stream
.
new
bufferedOutputStreamNew Source #
:: (HasCallStack, MonadIO m, IsOutputStream a) | |
=> a |
|
-> m BufferedOutputStream | Returns: a |
Creates a new buffered output stream for a base stream.
newSized
bufferedOutputStreamNewSized Source #
:: (HasCallStack, MonadIO m, IsOutputStream a) | |
=> a |
|
-> Word64 |
|
-> m BufferedOutputStream | Returns: a |
Creates a new buffered output stream with a given buffer size.
setAutoGrow
data BufferedOutputStreamSetAutoGrowMethodInfo Source #
((~) * signature (Bool -> m ()), MonadIO m, IsBufferedOutputStream a) => MethodInfo * BufferedOutputStreamSetAutoGrowMethodInfo a signature Source # | |
bufferedOutputStreamSetAutoGrow Source #
:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether or not the stream
's buffer should automatically grow.
If autoGrow
is true, then each write will just make the buffer
larger, and you must manually flush the buffer to actually write out
the data to the underlying stream.
setBufferSize
data BufferedOutputStreamSetBufferSizeMethodInfo Source #
((~) * signature (Word64 -> m ()), MonadIO m, IsBufferedOutputStream a) => MethodInfo * BufferedOutputStreamSetBufferSizeMethodInfo a signature Source # | |
bufferedOutputStreamSetBufferSize Source #
:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) | |
=> a |
|
-> Word64 |
|
-> m () |
Sets the size of the internal buffer to size
.
Properties
autoGrow
data BufferedOutputStreamAutoGrowPropertyInfo Source #
bufferedOutputStreamAutoGrow :: AttrLabelProxy "autoGrow" Source #
constructBufferedOutputStreamAutoGrow :: IsBufferedOutputStream o => Bool -> IO (GValueConstruct o) Source #
getBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> m Bool Source #
setBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> Bool -> m () Source #
bufferSize
data BufferedOutputStreamBufferSizePropertyInfo Source #
bufferedOutputStreamBufferSize :: AttrLabelProxy "bufferSize" Source #
constructBufferedOutputStreamBufferSize :: IsBufferedOutputStream o => Word32 -> IO (GValueConstruct o) Source #
getBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> m Word32 Source #
setBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> Word32 -> m () Source #