Guest User

Untitled

a guest
Oct 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. //
  2. // Buffer.swift
  3. // SwiftSerialport
  4. //
  5. // Created by Ladislas de Toldi on 09/10/2018.
  6. //
  7.  
  8. import Foundation
  9.  
  10. public class Buffer {
  11.  
  12. var buffer: Data
  13. let length: Int
  14.  
  15. public var data: Data {
  16. return buffer
  17. }
  18.  
  19. init(length: Int) {
  20.  
  21. self.length = length
  22. self.buffer = Data()
  23.  
  24. }
  25.  
  26. @discardableResult
  27. func append(data: Data) -> Int {
  28. buffer.append(data)
  29. if buffer.count > length {
  30. buffer.removeSubrange(0...length - 1)
  31. }
  32. return data.count
  33. }
  34.  
  35. @discardableResult
  36. func append(value: UInt8) -> Int {
  37. buffer.append(value)
  38. if buffer.count > length {
  39. buffer.removeSubrange(0...length - 1)
  40. }
  41. return 1
  42. }
  43.  
  44. @discardableResult
  45. func append(array: [UInt8]) -> Int {
  46. buffer.append(Data(array))
  47. if buffer.count > length {
  48. buffer.removeSubrange(0...length - 1)
  49. }
  50. return array.count
  51. }
  52.  
  53. func clear() {
  54. self.buffer = Data()
  55. }
  56.  
  57. }
Add Comment
Please, Sign In to add comment