class_streampeerbuffer.rst 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/StreamPeerBuffer.xml.
  6. .. _class_StreamPeerBuffer:
  7. StreamPeerBuffer
  8. ================
  9. **Inherits:** :ref:`StreamPeer<class_StreamPeer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. A stream peer used to handle binary data streams.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. A data buffer stream peer that uses a byte array as the stream. This object can be used to handle binary data from network sessions. To handle binary data stored in files, :ref:`FileAccess<class_FileAccess>` can be used directly.
  15. A **StreamPeerBuffer** object keeps an internal cursor which is the offset in bytes to the start of the buffer. Get and put operations are performed at the cursor position and will move the cursor accordingly.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  22. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data_array<class_StreamPeerBuffer_property_data_array>` | ``PackedByteArray()`` |
  23. +-----------------------------------------------+---------------------------------------------------------------+-----------------------+
  24. .. rst-class:: classref-reftable-group
  25. Methods
  26. -------
  27. .. table::
  28. :widths: auto
  29. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  30. | void | :ref:`clear<class_StreamPeerBuffer_method_clear>` **(** **)** |
  31. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  32. | :ref:`StreamPeerBuffer<class_StreamPeerBuffer>` | :ref:`duplicate<class_StreamPeerBuffer_method_duplicate>` **(** **)** |const| |
  33. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  34. | :ref:`int<class_int>` | :ref:`get_position<class_StreamPeerBuffer_method_get_position>` **(** **)** |const| |
  35. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  36. | :ref:`int<class_int>` | :ref:`get_size<class_StreamPeerBuffer_method_get_size>` **(** **)** |const| |
  37. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  38. | void | :ref:`resize<class_StreamPeerBuffer_method_resize>` **(** :ref:`int<class_int>` size **)** |
  39. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  40. | void | :ref:`seek<class_StreamPeerBuffer_method_seek>` **(** :ref:`int<class_int>` position **)** |
  41. +-------------------------------------------------+--------------------------------------------------------------------------------------------+
  42. .. rst-class:: classref-section-separator
  43. ----
  44. .. rst-class:: classref-descriptions-group
  45. Property Descriptions
  46. ---------------------
  47. .. _class_StreamPeerBuffer_property_data_array:
  48. .. rst-class:: classref-property
  49. :ref:`PackedByteArray<class_PackedByteArray>` **data_array** = ``PackedByteArray()``
  50. .. rst-class:: classref-property-setget
  51. - void **set_data_array** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
  52. - :ref:`PackedByteArray<class_PackedByteArray>` **get_data_array** **(** **)**
  53. The underlying data buffer. Setting this value resets the cursor.
  54. .. rst-class:: classref-section-separator
  55. ----
  56. .. rst-class:: classref-descriptions-group
  57. Method Descriptions
  58. -------------------
  59. .. _class_StreamPeerBuffer_method_clear:
  60. .. rst-class:: classref-method
  61. void **clear** **(** **)**
  62. Clears the :ref:`data_array<class_StreamPeerBuffer_property_data_array>` and resets the cursor.
  63. .. rst-class:: classref-item-separator
  64. ----
  65. .. _class_StreamPeerBuffer_method_duplicate:
  66. .. rst-class:: classref-method
  67. :ref:`StreamPeerBuffer<class_StreamPeerBuffer>` **duplicate** **(** **)** |const|
  68. Returns a new **StreamPeerBuffer** with the same :ref:`data_array<class_StreamPeerBuffer_property_data_array>` content.
  69. .. rst-class:: classref-item-separator
  70. ----
  71. .. _class_StreamPeerBuffer_method_get_position:
  72. .. rst-class:: classref-method
  73. :ref:`int<class_int>` **get_position** **(** **)** |const|
  74. Returns the current cursor position.
  75. .. rst-class:: classref-item-separator
  76. ----
  77. .. _class_StreamPeerBuffer_method_get_size:
  78. .. rst-class:: classref-method
  79. :ref:`int<class_int>` **get_size** **(** **)** |const|
  80. Returns the size of :ref:`data_array<class_StreamPeerBuffer_property_data_array>`.
  81. .. rst-class:: classref-item-separator
  82. ----
  83. .. _class_StreamPeerBuffer_method_resize:
  84. .. rst-class:: classref-method
  85. void **resize** **(** :ref:`int<class_int>` size **)**
  86. Resizes the :ref:`data_array<class_StreamPeerBuffer_property_data_array>`. This *doesn't* update the cursor.
  87. .. rst-class:: classref-item-separator
  88. ----
  89. .. _class_StreamPeerBuffer_method_seek:
  90. .. rst-class:: classref-method
  91. void **seek** **(** :ref:`int<class_int>` position **)**
  92. Moves the cursor to the specified position. ``position`` must be a valid index of :ref:`data_array<class_StreamPeerBuffer_property_data_array>`.
  93. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  94. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  95. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  96. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  97. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  98. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`