Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
/*
4
 * This file is part of SwiftMailer.
5
 * (c) 2004-2009 Chris Corbyn
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
 
11
/**
12
 * An abstract means of writing data.
13
 * Classes implementing this interface may use a subsystem which requires less
14
 * memory than working with large strings of data.
15
 * @package Swift
16
 * @subpackage ByteStream
17
 * @author Chris Corbyn
18
 */
19
interface Swift_InputByteStream
20
{
21
 
22
  /**
23
   * Writes $bytes to the end of the stream.
24
   *
25
   * Writing may not happen immediately if the stream chooses to buffer.  If
26
   * you want to write these bytes with immediate effect, call {@link commit()}
27
   * after calling write().
28
   *
29
   * This method returns the sequence ID of the write (i.e. 1 for first, 2 for
30
   * second, etc etc).
31
   *
32
   * @param string $bytes
33
   * @return int
34
   * @throws Swift_IoException
35
   */
36
  public function write($bytes);
37
 
38
  /**
39
   * For any bytes that are currently buffered inside the stream, force them
40
   * off the buffer.
41
   *
42
   * @throws Swift_IoException
43
   */
44
  public function commit();
45
 
46
  /**
47
   * Attach $is to this stream.
48
   * The stream acts as an observer, receiving all data that is written.
49
   * All {@link write()} and {@link flushBuffers()} operations will be mirrored.
50
   *
51
   * @param Swift_InputByteStream $is
52
   */
53
  public function bind(Swift_InputByteStream $is);
54
 
55
  /**
56
   * Remove an already bound stream.
57
   * If $is is not bound, no errors will be raised.
58
   * If the stream currently has any buffered data it will be written to $is
59
   * before unbinding occurs.
60
   *
61
   * @param Swift_InputByteStream $is
62
   */
63
  public function unbind(Swift_InputByteStream $is);
64
 
65
  /**
66
   * Flush the contents of the stream (empty it) and set the internal pointer
67
   * to the beginning.
68
   * @throws Swift_IoException
69
   */
70
  public function flushBuffers();
71
 
72
}