mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
Merge
This commit is contained in:
commit
74ee57a572
477 changed files with 31302 additions and 2120 deletions
|
@ -764,21 +764,28 @@ void staticBufferStream::vprint_cr(const char* format, va_list argptr) {
|
|||
write(str, len);
|
||||
}
|
||||
|
||||
bufferedStream::bufferedStream(size_t initial_size) : outputStream() {
|
||||
bufferedStream::bufferedStream(size_t initial_size, size_t bufmax) : outputStream() {
|
||||
buffer_length = initial_size;
|
||||
buffer = NEW_C_HEAP_ARRAY(char, buffer_length);
|
||||
buffer_pos = 0;
|
||||
buffer_fixed = false;
|
||||
buffer_max = bufmax;
|
||||
}
|
||||
|
||||
bufferedStream::bufferedStream(char* fixed_buffer, size_t fixed_buffer_size) : outputStream() {
|
||||
bufferedStream::bufferedStream(char* fixed_buffer, size_t fixed_buffer_size, size_t bufmax) : outputStream() {
|
||||
buffer_length = fixed_buffer_size;
|
||||
buffer = fixed_buffer;
|
||||
buffer_pos = 0;
|
||||
buffer_fixed = true;
|
||||
buffer_max = bufmax;
|
||||
}
|
||||
|
||||
void bufferedStream::write(const char* s, size_t len) {
|
||||
|
||||
if(buffer_pos + len > buffer_max) {
|
||||
flush();
|
||||
}
|
||||
|
||||
size_t end = buffer_pos + len;
|
||||
if (end >= buffer_length) {
|
||||
if (buffer_fixed) {
|
||||
|
@ -822,7 +829,7 @@ bufferedStream::~bufferedStream() {
|
|||
#endif
|
||||
|
||||
// Network access
|
||||
networkStream::networkStream() {
|
||||
networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
|
||||
|
||||
_socket = -1;
|
||||
|
||||
|
@ -842,7 +849,9 @@ int networkStream::read(char *buf, size_t len) {
|
|||
|
||||
void networkStream::flush() {
|
||||
if (size() != 0) {
|
||||
hpi::send(_socket, (char *)base(), (int)size(), 0);
|
||||
int result = hpi::raw_send(_socket, (char *)base(), (int)size(), 0);
|
||||
assert(result != -1, "connection error");
|
||||
assert(result == (int)size(), "didn't send enough data");
|
||||
}
|
||||
reset();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue