         return channel.closed
     }
 
-    public func receive() throws -> Data {
+    public func receive(upTo byteCount: Int, timingOut deadline: Double = .never) throws -> Data {
         if closed {
             throw StreamError.closedStream(data: Data([]))
         }
         return try channel.receive()!
     }
 
-    public func send(data: Data) throws {
+    public func send(data: Data, timingOut deadline: Double = .never) throws {
         channel.send(data)
     }
 
-    public func flush() throws {}
+    public func flush(timingOut deadline: Double = .never) throws {}
 
     public func close() -> Bool {
         return channel.close()

// SOFTWARE.

@_exported import Venice
@_exported import Data

public final class ChannelStream: Stream {
    public let metadata: [String: Any] = [:]

                try stream(self)
                self.close()
            } catch {
                self.channel.send(error)
            }
        }
    }
