File tree Expand file tree Collapse file tree 1 file changed +8
-21
lines changed Expand file tree Collapse file tree 1 file changed +8
-21
lines changed Original file line number Diff line number Diff line change @@ -90,28 +90,15 @@ def continued?
90
90
attr_accessor :length
91
91
attr_accessor :payload
92
92
93
- if IO . const_defined? ( :Buffer ) && IO ::Buffer . respond_to? ( :for ) && IO ::Buffer . method_defined? ( :xor! )
94
- private def mask_xor ( data , mask )
95
- buffer = data . dup
96
- mask_buffer = IO ::Buffer . for ( mask )
97
-
98
- IO ::Buffer . for ( buffer ) do |buffer |
99
- buffer . xor! ( mask_buffer )
100
- end
101
-
102
- return buffer
103
- end
104
- else
105
- warn "IO::Buffer not available, falling back to slow implementation of mask_xor!"
106
- private def mask_xor ( data , mask )
107
- result = String . new ( encoding : Encoding ::BINARY )
108
-
109
- for i in 0 ...data . bytesize do
110
- result << ( data . getbyte ( i ) ^ mask . getbyte ( i % 4 ) )
111
- end
112
-
113
- return result
93
+ private def mask_xor ( data , mask )
94
+ buffer = data . dup
95
+ mask_buffer = IO ::Buffer . for ( mask )
96
+
97
+ IO ::Buffer . for ( buffer ) do |buffer |
98
+ buffer . xor! ( mask_buffer )
114
99
end
100
+
101
+ return buffer
115
102
end
116
103
117
104
def pack ( data = "" )
You can’t perform that action at this time.
0 commit comments