1029 buffer_pos += len;
1030 update_position(s, len);
1031 }
1032 }
1033
1034 char* bufferedStream::as_string() {
1035 char* copy = NEW_RESOURCE_ARRAY(char, buffer_pos+1);
1036 strncpy(copy, buffer, buffer_pos);
1037 copy[buffer_pos] = 0; // terminating null
1038 return copy;
1039 }
1040
1041 bufferedStream::~bufferedStream() {
1042 if (!buffer_fixed) {
1043 FREE_C_HEAP_ARRAY(char, buffer);
1044 }
1045 }
1046
1047 #ifndef PRODUCT
1048
1049 #if defined(SOLARIS) || defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
1050 #include <sys/types.h>
1051 #include <sys/socket.h>
1052 #include <netinet/in.h>
1053 #include <arpa/inet.h>
1054 #elif defined(_WINDOWS)
1055 #include <winsock2.h>
1056 #endif
1057
1058 // Network access
1059 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1060
1061 _socket = -1;
1062
1063 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1064 if (result <= 0) {
1065 assert(false, "Socket could not be created!");
1066 } else {
1067 _socket = result;
1068 }
1069 }
|
1029 buffer_pos += len;
1030 update_position(s, len);
1031 }
1032 }
1033
1034 char* bufferedStream::as_string() {
1035 char* copy = NEW_RESOURCE_ARRAY(char, buffer_pos+1);
1036 strncpy(copy, buffer, buffer_pos);
1037 copy[buffer_pos] = 0; // terminating null
1038 return copy;
1039 }
1040
1041 bufferedStream::~bufferedStream() {
1042 if (!buffer_fixed) {
1043 FREE_C_HEAP_ARRAY(char, buffer);
1044 }
1045 }
1046
1047 #ifndef PRODUCT
1048
1049 #if defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
1050 #include <sys/types.h>
1051 #include <sys/socket.h>
1052 #include <netinet/in.h>
1053 #include <arpa/inet.h>
1054 #elif defined(_WINDOWS)
1055 #include <winsock2.h>
1056 #endif
1057
1058 // Network access
1059 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1060
1061 _socket = -1;
1062
1063 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1064 if (result <= 0) {
1065 assert(false, "Socket could not be created!");
1066 } else {
1067 _socket = result;
1068 }
1069 }
|