winlin

refine the fast buffer to more readable.

@@ -82,17 +82,21 @@ char* SrsFastBuffer::bytes() @@ -82,17 +82,21 @@ char* SrsFastBuffer::bytes()
82 82
83 void SrsFastBuffer::set_buffer(int buffer_size) 83 void SrsFastBuffer::set_buffer(int buffer_size)
84 { 84 {
85 - // the user-space buffer size limit to a max value.  
86 - int nb_resize_buf = srs_min(buffer_size, SRS_MAX_SOCKET_BUFFER); 85 + // never exceed the max size.
87 if (buffer_size > SRS_MAX_SOCKET_BUFFER) { 86 if (buffer_size > SRS_MAX_SOCKET_BUFFER) {
88 - srs_warn("limit the user-space buffer from %d to %d", buffer_size, SRS_MAX_SOCKET_BUFFER); 87 + srs_warn("limit the user-space buffer from %d to %d",
  88 + buffer_size, SRS_MAX_SOCKET_BUFFER);
89 } 89 }
90 90
  91 + // the user-space buffer size limit to a max value.
  92 + int nb_resize_buf = srs_min(buffer_size, SRS_MAX_SOCKET_BUFFER);
  93 +
91 // only realloc when buffer changed bigger 94 // only realloc when buffer changed bigger
92 if (nb_resize_buf <= nb_buffer) { 95 if (nb_resize_buf <= nb_buffer) {
93 return; 96 return;
94 } 97 }
95 98
  99 + // realloc for buffer change bigger.
96 int start = p - buffer; 100 int start = p - buffer;
97 int nb_bytes = end - p; 101 int nb_bytes = end - p;
98 102
@@ -148,6 +152,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size) @@ -148,6 +152,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
148 srs_assert(nb_exists_bytes >= 0); 152 srs_assert(nb_exists_bytes >= 0);
149 srs_verbose("move fast buffer %d bytes", nb_exists_bytes); 153 srs_verbose("move fast buffer %d bytes", nb_exists_bytes);
150 154
  155 + // reset or move to get more space.
151 if (!nb_exists_bytes) { 156 if (!nb_exists_bytes) {
152 // reset when buffer is empty. 157 // reset when buffer is empty.
153 p = end = buffer; 158 p = end = buffer;
@@ -159,7 +164,6 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size) @@ -159,7 +164,6 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
159 p = buffer; 164 p = buffer;
160 end = p + nb_exists_bytes; 165 end = p + nb_exists_bytes;
161 } 166 }
162 - }  
163 167
164 // check whether enough free space in buffer. 168 // check whether enough free space in buffer.
165 nb_free_space = buffer + nb_buffer - end; 169 nb_free_space = buffer + nb_buffer - end;
@@ -169,6 +173,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size) @@ -169,6 +173,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
169 required_size, nb_buffer, nb_free_space, ret); 173 required_size, nb_buffer, nb_free_space, ret);
170 return ret; 174 return ret;
171 } 175 }
  176 + }
172 177
173 // buffer is ok, read required size of bytes. 178 // buffer is ok, read required size of bytes.
174 while (end - p < required_size) { 179 while (end - p < required_size) {