1009 char* bufferedStream::as_string() {
1010 char* copy = NEW_RESOURCE_ARRAY(char, buffer_pos+1);
1011 strncpy(copy, buffer, buffer_pos);
1012 copy[buffer_pos] = 0; // terminating null
1013 return copy;
1014 }
1015
1016 bufferedStream::~bufferedStream() {
1017 if (!buffer_fixed) {
1018 FREE_C_HEAP_ARRAY(char, buffer);
1019 }
1020 }
1021
1022 #ifndef PRODUCT
1023
1024 #if defined(SOLARIS) || defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
1025 #include <sys/types.h>
1026 #include <sys/socket.h>
1027 #include <netinet/in.h>
1028 #include <arpa/inet.h>
1029 #endif
1030 #if defined(_WINDOWS)
1031 #include <winsock2.h>
1032 #endif
1033
1034 // Network access
1035 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1036
1037 _socket = -1;
1038
1039 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1040 if (result <= 0) {
1041 assert(false, "Socket could not be created!");
1042 } else {
1043 _socket = result;
1044 }
1045 }
1046
1047 int networkStream::read(char *buf, size_t len) {
1048 return os::recv(_socket, buf, (int)len, 0);
1049 }
|
1009 char* bufferedStream::as_string() {
1010 char* copy = NEW_RESOURCE_ARRAY(char, buffer_pos+1);
1011 strncpy(copy, buffer, buffer_pos);
1012 copy[buffer_pos] = 0; // terminating null
1013 return copy;
1014 }
1015
1016 bufferedStream::~bufferedStream() {
1017 if (!buffer_fixed) {
1018 FREE_C_HEAP_ARRAY(char, buffer);
1019 }
1020 }
1021
1022 #ifndef PRODUCT
1023
1024 #if defined(SOLARIS) || defined(LINUX) || defined(AIX) || defined(_ALLBSD_SOURCE)
1025 #include <sys/types.h>
1026 #include <sys/socket.h>
1027 #include <netinet/in.h>
1028 #include <arpa/inet.h>
1029 #elif defined(_WINDOWS)
1030 #include <winsock2.h>
1031 #endif
1032
1033 // Network access
1034 networkStream::networkStream() : bufferedStream(1024*10, 1024*10) {
1035
1036 _socket = -1;
1037
1038 int result = os::socket(AF_INET, SOCK_STREAM, 0);
1039 if (result <= 0) {
1040 assert(false, "Socket could not be created!");
1041 } else {
1042 _socket = result;
1043 }
1044 }
1045
1046 int networkStream::read(char *buf, size_t len) {
1047 return os::recv(_socket, buf, (int)len, 0);
1048 }
|