Clean up the exception messages

- Consistency
- Use the method name of the current scope if possible
This commit is contained in:
Trustin Lee 2014-12-30 12:48:37 +09:00
parent 2a717bd50e
commit 2c55089327
2 changed files with 58 additions and 58 deletions

View File

@ -90,9 +90,9 @@ void throwClosedChannelException(JNIEnv* env) {
(*env)->Throw(env, exception); (*env)->Throw(env, exception);
} }
void throwOutOfMemoryError(JNIEnv* env, char* message) { void throwOutOfMemoryError(JNIEnv* env) {
jclass exceptionClass = (*env)->FindClass(env, "java/lang/OutOfMemoryError"); jclass exceptionClass = (*env)->FindClass(env, "java/lang/OutOfMemoryError");
(*env)->ThrowNew(env, exceptionClass, message); (*env)->ThrowNew(env, exceptionClass, "");
} }
char* exceptionMessage(char* msg, int error) { char* exceptionMessage(char* msg, int error) {
@ -132,7 +132,7 @@ jint getOption(JNIEnv* env, jint fd, int level, int optname, void* optval, sockl
return 0; return 0;
} }
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during getsockopt(...): ", err)); throwRuntimeException(env, exceptionMessage("getsockopt() failed: ", err));
return code; return code;
} }
@ -140,7 +140,7 @@ int setOption(JNIEnv* env, jint fd, int level, int optname, const void* optval,
int rc = setsockopt(fd, level, optname, optval, len); int rc = setsockopt(fd, level, optname, optval, len);
if (rc < 0) { if (rc < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during setsockopt(...): ", err)); throwRuntimeException(env, exceptionMessage("setsockopt() failed: ", err));
} }
return rc; return rc;
} }
@ -272,7 +272,7 @@ int init_sockaddr(JNIEnv* env, jbyteArray address, jint scopeId, jint jport, str
jbyte* addressBytes = (*env)->GetPrimitiveArrayCritical(env, address, 0); jbyte* addressBytes = (*env)->GetPrimitiveArrayCritical(env, address, 0);
if (addressBytes == NULL) { if (addressBytes == NULL) {
// No memory left ?!?!? // No memory left ?!?!?
throwOutOfMemoryError(env, "Can't allocate memory"); throwOutOfMemoryError(env);
} }
if (socketType == AF_INET6) { if (socketType == AF_INET6) {
struct sockaddr_in6* ip6addr = (struct sockaddr_in6*) addr; struct sockaddr_in6* ip6addr = (struct sockaddr_in6*) addr;
@ -314,7 +314,7 @@ int init_in_addr(JNIEnv* env, jbyteArray address, struct in_addr* addr) {
jbyte* addressBytes = (*env)->GetPrimitiveArrayCritical(env, address, 0); jbyte* addressBytes = (*env)->GetPrimitiveArrayCritical(env, address, 0);
if (addressBytes == NULL) { if (addressBytes == NULL) {
// No memory left ?!?!? // No memory left ?!?!?
throwOutOfMemoryError(env, "Can't allocate memory"); throwOutOfMemoryError(env);
return -1; return -1;
} }
if (socketType == AF_INET6) { if (socketType == AF_INET6) {
@ -341,12 +341,12 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
closedChannelExceptionClass = (jclass) (*env)->NewGlobalRef(env, localClosedChannelExceptionClass); closedChannelExceptionClass = (jclass) (*env)->NewGlobalRef(env, localClosedChannelExceptionClass);
if (closedChannelExceptionClass == NULL) { if (closedChannelExceptionClass == NULL) {
// out-of-memory! // out-of-memory!
throwOutOfMemoryError(env, "Error allocating memory"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
closedChannelExceptionMethodId = (*env)->GetMethodID(env, closedChannelExceptionClass, "<init>", "()V"); closedChannelExceptionMethodId = (*env)->GetMethodID(env, closedChannelExceptionClass, "<init>", "()V");
if (closedChannelExceptionMethodId == NULL) { if (closedChannelExceptionMethodId == NULL) {
throwRuntimeException(env, "Unable to obtain constructor of ClosedChannelException"); throwRuntimeException(env, "failed to get method ID: ClosedChannelException.<init>()");
return JNI_ERR; return JNI_ERR;
} }
jclass localRuntimeExceptionClass = (*env)->FindClass(env, "java/lang/RuntimeException"); jclass localRuntimeExceptionClass = (*env)->FindClass(env, "java/lang/RuntimeException");
@ -357,7 +357,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
runtimeExceptionClass = (jclass) (*env)->NewGlobalRef(env, localRuntimeExceptionClass); runtimeExceptionClass = (jclass) (*env)->NewGlobalRef(env, localRuntimeExceptionClass);
if (runtimeExceptionClass == NULL) { if (runtimeExceptionClass == NULL) {
// out-of-memory! // out-of-memory!
throwOutOfMemoryError(env, "Error allocating memory"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
@ -369,7 +369,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
ioExceptionClass = (jclass) (*env)->NewGlobalRef(env, localIoExceptionClass); ioExceptionClass = (jclass) (*env)->NewGlobalRef(env, localIoExceptionClass);
if (ioExceptionClass == NULL) { if (ioExceptionClass == NULL) {
// out-of-memory! // out-of-memory!
throwOutOfMemoryError(env, "Error allocating memory"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
@ -381,7 +381,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
inetSocketAddressClass = (jclass) (*env)->NewGlobalRef(env, localInetSocketAddressClass); inetSocketAddressClass = (jclass) (*env)->NewGlobalRef(env, localInetSocketAddressClass);
if (inetSocketAddressClass == NULL) { if (inetSocketAddressClass == NULL) {
// out-of-memory! // out-of-memory!
throwOutOfMemoryError(env, "Error allocating memory"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
@ -393,20 +393,20 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
datagramSocketAddressClass = (jclass) (*env)->NewGlobalRef(env, localDatagramSocketAddressClass); datagramSocketAddressClass = (jclass) (*env)->NewGlobalRef(env, localDatagramSocketAddressClass);
if (datagramSocketAddressClass == NULL) { if (datagramSocketAddressClass == NULL) {
// out-of-memory! // out-of-memory!
throwOutOfMemoryError(env, "Error allocating memory"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
void* mem = malloc(1); void* mem = malloc(1);
if (mem == NULL) { if (mem == NULL) {
throwOutOfMemoryError(env, "Error allocating native buffer"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
jobject directBuffer = (*env)->NewDirectByteBuffer(env, mem, 1); jobject directBuffer = (*env)->NewDirectByteBuffer(env, mem, 1);
if (directBuffer == NULL) { if (directBuffer == NULL) {
free(mem); free(mem);
throwOutOfMemoryError(env, "Error allocating native buffer"); throwOutOfMemoryError(env);
return JNI_ERR; return JNI_ERR;
} }
@ -419,7 +419,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
free(mem); free(mem);
// position method was not found.. something is wrong so bail out // position method was not found.. something is wrong so bail out
throwRuntimeException(env, "Unable to find method ByteBuffer.position()"); throwRuntimeException(env, "failed to get method ID: ByteBuffer.position()");
return JNI_ERR; return JNI_ERR;
} }
@ -428,7 +428,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
free(mem); free(mem);
// limit method was not found.. something is wrong so bail out // limit method was not found.. something is wrong so bail out
throwRuntimeException(env, "Unable to find method ByteBuffer.limit()"); throwRuntimeException(env, "failed to get method ID: ByteBuffer.limit()");
return JNI_ERR; return JNI_ERR;
} }
updatePosId = (*env)->GetMethodID(env, cls, "position", "(I)Ljava/nio/Buffer;"); updatePosId = (*env)->GetMethodID(env, cls, "position", "(I)Ljava/nio/Buffer;");
@ -436,7 +436,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
free(mem); free(mem);
// position method was not found.. something is wrong so bail out // position method was not found.. something is wrong so bail out
throwRuntimeException(env, "Unable to find method ByteBuffer.position(int)"); throwRuntimeException(env, "failed to fet method ID: ByteBuffer.position(int)");
return JNI_ERR; return JNI_ERR;
} }
// Try to get the ids of the position and limit fields. We later then check if we was able // Try to get the ids of the position and limit fields. We later then check if we was able
@ -462,12 +462,12 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
} }
fileChannelFieldId = (*env)->GetFieldID(env, fileRegionCls, "file", "Ljava/nio/channels/FileChannel;"); fileChannelFieldId = (*env)->GetFieldID(env, fileRegionCls, "file", "Ljava/nio/channels/FileChannel;");
if (fileChannelFieldId == NULL) { if (fileChannelFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain FileChannel field for DefaultFileRegion"); throwRuntimeException(env, "failed to get field ID: DefaultFileRegion.file");
return JNI_ERR; return JNI_ERR;
} }
transferedFieldId = (*env)->GetFieldID(env, fileRegionCls, "transfered", "J"); transferedFieldId = (*env)->GetFieldID(env, fileRegionCls, "transfered", "J");
if (transferedFieldId == NULL) { if (transferedFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain transfered field for DefaultFileRegion"); throwRuntimeException(env, "failed to get field ID: DefaultFileRegion.transfered");
return JNI_ERR; return JNI_ERR;
} }
@ -478,7 +478,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
} }
fileDescriptorFieldId = (*env)->GetFieldID(env, fileChannelCls, "fd", "Ljava/io/FileDescriptor;"); fileDescriptorFieldId = (*env)->GetFieldID(env, fileChannelCls, "fd", "Ljava/io/FileDescriptor;");
if (fileDescriptorFieldId == NULL) { if (fileDescriptorFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain fd field for FileChannelImpl"); throwRuntimeException(env, "failed to get field ID: FileChannelImpl.fd");
return JNI_ERR; return JNI_ERR;
} }
@ -489,20 +489,20 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
} }
fdFieldId = (*env)->GetFieldID(env, fileDescriptorCls, "fd", "I"); fdFieldId = (*env)->GetFieldID(env, fileDescriptorCls, "fd", "I");
if (fdFieldId == NULL) { if (fdFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain fd field for FileDescriptor"); throwRuntimeException(env, "failed to get field ID: FileDescriptor.fd");
return JNI_ERR; return JNI_ERR;
} }
inetSocketAddrMethodId = (*env)->GetMethodID(env, inetSocketAddressClass, "<init>", "(Ljava/lang/String;I)V"); inetSocketAddrMethodId = (*env)->GetMethodID(env, inetSocketAddressClass, "<init>", "(Ljava/lang/String;I)V");
if (inetSocketAddrMethodId == NULL) { if (inetSocketAddrMethodId == NULL) {
throwRuntimeException(env, "Unable to obtain constructor of InetSocketAddress"); throwRuntimeException(env, "failed to get method ID: InetSocketAddress.<init>(String, int)");
return JNI_ERR; return JNI_ERR;
} }
socketType = socket_type(); socketType = socket_type();
datagramSocketAddrMethodId = (*env)->GetMethodID(env, datagramSocketAddressClass, "<init>", "(Ljava/lang/String;II)V"); datagramSocketAddrMethodId = (*env)->GetMethodID(env, datagramSocketAddressClass, "<init>", "(Ljava/lang/String;II)V");
if (datagramSocketAddrMethodId == NULL) { if (datagramSocketAddrMethodId == NULL) {
throwRuntimeException(env, "Unable to obtain constructor of DatagramSocketAddress"); throwRuntimeException(env, "failed to get method ID: DatagramSocketAddress.<init>(String, int, int)");
return JNI_ERR; return JNI_ERR;
} }
jclass nativeDatagramPacketCls = (*env)->FindClass(env, "io/netty/channel/epoll/NativeDatagramPacketArray$NativeDatagramPacket"); jclass nativeDatagramPacketCls = (*env)->FindClass(env, "io/netty/channel/epoll/NativeDatagramPacketArray$NativeDatagramPacket");
@ -513,28 +513,28 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
packetAddrFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "addr", "[B"); packetAddrFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "addr", "[B");
if (packetAddrFieldId == NULL) { if (packetAddrFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain addr field for NativeDatagramPacket"); throwRuntimeException(env, "failed to get field ID: NativeDatagramPacket.addr");
return JNI_ERR; return JNI_ERR;
} }
packetScopeIdFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "scopeId", "I"); packetScopeIdFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "scopeId", "I");
if (packetScopeIdFieldId == NULL) { if (packetScopeIdFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain scopeId field for NativeDatagramPacket"); throwRuntimeException(env, "failed to get field ID: NativeDatagramPacket.scopeId");
return JNI_ERR; return JNI_ERR;
} }
packetPortFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "port", "I"); packetPortFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "port", "I");
if (packetPortFieldId == NULL) { if (packetPortFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain port field for NativeDatagramPacket"); throwRuntimeException(env, "failed to get field ID: NativeDatagramPacket.port");
return JNI_ERR; return JNI_ERR;
} }
packetMemoryAddressFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "memoryAddress", "J"); packetMemoryAddressFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "memoryAddress", "J");
if (packetMemoryAddressFieldId == NULL) { if (packetMemoryAddressFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain memoryAddress field for NativeDatagramPacket"); throwRuntimeException(env, "failed to get field ID: NativeDatagramPacket.memoryAddress");
return JNI_ERR; return JNI_ERR;
} }
packetCountFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "count", "I"); packetCountFieldId = (*env)->GetFieldID(env, nativeDatagramPacketCls, "count", "I");
if (packetCountFieldId == NULL) { if (packetCountFieldId == NULL) {
throwRuntimeException(env, "Unable to obtain count field for NativeDatagramPacket"); throwRuntimeException(env, "failed to get field ID: NativeDatagramPacket.count");
return JNI_ERR; return JNI_ERR;
} }
return JNI_VERSION_1_6; return JNI_VERSION_1_6;
@ -571,7 +571,7 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_eventFd(JNIEnv* env, j
if (eventFD < 0) { if (eventFD < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error calling eventfd(...): ", err)); throwRuntimeException(env, exceptionMessage("eventfd() failed: ", err));
} }
return eventFD; return eventFD;
} }
@ -581,7 +581,7 @@ JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_eventFdWrite(JNIEnv* e
if (eventFD < 0) { if (eventFD < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error calling eventfd_write(...): ", err)); throwRuntimeException(env, exceptionMessage("eventfd_write() failed: ", err));
} }
} }
@ -590,7 +590,7 @@ JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_eventFdRead(JNIEnv* en
if (eventfd_read(fd, &eventfd_t) != 0) { if (eventfd_read(fd, &eventfd_t) != 0) {
// something is serious wrong // something is serious wrong
throwRuntimeException(env, "Error calling eventfd_read(...)"); throwRuntimeException(env, "eventfd_read() failed");
} }
} }
@ -605,9 +605,9 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_epollCreate(JNIEnv* en
if (efd < 0) { if (efd < 0) {
int err = errno; int err = errno;
if (epoll_create1) { if (epoll_create1) {
throwRuntimeException(env, exceptionMessage("Error during epoll_create1(...): ", err)); throwRuntimeException(env, exceptionMessage("epoll_create1() failed: ", err));
} else { } else {
throwRuntimeException(env, exceptionMessage("Error during epoll_create(...): ", err)); throwRuntimeException(env, exceptionMessage("epoll_create() failed: ", err));
} }
return efd; return efd;
} }
@ -615,7 +615,7 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_epollCreate(JNIEnv* en
if (fcntl(efd, F_SETFD, FD_CLOEXEC) < 0) { if (fcntl(efd, F_SETFD, FD_CLOEXEC) < 0) {
int err = errno; int err = errno;
close(efd); close(efd);
throwRuntimeException(env, exceptionMessage("Error during fcntl(...): ", err)); throwRuntimeException(env, exceptionMessage("fcntl() failed: ", err));
return err; return err;
} }
} }
@ -633,7 +633,7 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_epollWait(JNIEnv* env,
} while (ready == -1 && ((err = errno) == EINTR)); } while (ready == -1 && ((err = errno) == EINTR));
if (ready < 0) { if (ready < 0) {
throwIOException(env, exceptionMessage("Error during epoll_wait(...): ", err)); throwIOException(env, exceptionMessage("epoll_wait() failed: ", err));
return -1; return -1;
} }
if (ready == 0) { if (ready == 0) {
@ -648,7 +648,7 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_epollWait(JNIEnv* env,
jlong* elements = (*env)->GetPrimitiveArrayCritical(env, events, &isCopy); jlong* elements = (*env)->GetPrimitiveArrayCritical(env, events, &isCopy);
if (elements == NULL) { if (elements == NULL) {
// No memory left ?!?!? // No memory left ?!?!?
throwOutOfMemoryError(env, "Can't allocate memory"); throwOutOfMemoryError(env);
return -1; return -1;
} }
int i; int i;
@ -681,14 +681,14 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_epollWait(JNIEnv* env,
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_epollCtlAdd(JNIEnv* env, jclass clazz, jint efd, jint fd, jint flags, jint id) { JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_epollCtlAdd(JNIEnv* env, jclass clazz, jint efd, jint fd, jint flags, jint id) {
if (epollCtl(env, efd, EPOLL_CTL_ADD, fd, flags, id) < 0) { if (epollCtl(env, efd, EPOLL_CTL_ADD, fd, flags, id) < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during calling epoll_ctl(...): ", err)); throwRuntimeException(env, exceptionMessage("epoll_ctl() failed: ", err));
} }
} }
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_epollCtlMod(JNIEnv* env, jclass clazz, jint efd, jint fd, jint flags, jint id) { JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_epollCtlMod(JNIEnv* env, jclass clazz, jint efd, jint fd, jint flags, jint id) {
if (epollCtl(env, efd, EPOLL_CTL_MOD, fd, flags, id) < 0) { if (epollCtl(env, efd, EPOLL_CTL_MOD, fd, flags, id) < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during calling epoll_ctl(...): ", err)); throwRuntimeException(env, exceptionMessage("epoll_ctl() failed: ", err));
} }
} }
@ -697,7 +697,7 @@ JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_epollCtlDel(JNIEnv* en
struct epoll_event event = { 0 }; struct epoll_event event = { 0 };
if (epoll_ctl(efd, EPOLL_CTL_DEL, fd, &event) < 0) { if (epoll_ctl(efd, EPOLL_CTL_DEL, fd, &event) < 0) {
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during calling epoll_ctl(...): ", err)); throwRuntimeException(env, exceptionMessage("epoll_ctl() failed: ", err));
} }
} }
@ -718,7 +718,7 @@ jint _write(JNIEnv* env, jclass clazz, jint fd, void* buffer, jint pos, jint lim
JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_write0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) { JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_write0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) {
void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer); void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer);
if (buffer == NULL) { if (buffer == NULL) {
throwRuntimeException(env, "Unable to access address of buffer"); throwRuntimeException(env, "failed to get direct buffer address");
return -1; return -1;
} }
return _write(env, clazz, fd, buffer, pos, limit); return _write(env, clazz, fd, buffer, pos, limit);
@ -750,7 +750,7 @@ jint _sendTo(JNIEnv* env, jint fd, void* buffer, jint pos, jint limit ,jbyteArra
JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_sendTo0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit, jbyteArray address, jint scopeId, jint port) { JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_sendTo0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit, jbyteArray address, jint scopeId, jint port) {
void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer); void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer);
if (buffer == NULL) { if (buffer == NULL) {
throwRuntimeException(env, "Unable to access address of buffer"); throwRuntimeException(env, "failed to get direct buffer address");
return -1; return -1;
} }
return _sendTo(env, fd, buffer, pos, limit, address, scopeId, port); return _sendTo(env, fd, buffer, pos, limit, address, scopeId, port);
@ -844,7 +844,7 @@ jobject recvFrom0(JNIEnv* env, jint fd, void* buffer, jint pos, jint limit) {
throwClosedChannelException(env); throwClosedChannelException(env);
return NULL; return NULL;
} }
throwIOException(env, exceptionMessage("Error while recvFrom(...): ", err)); throwIOException(env, exceptionMessage("recvfrom() failed: ", err));
return NULL; return NULL;
} }
@ -854,7 +854,7 @@ jobject recvFrom0(JNIEnv* env, jint fd, void* buffer, jint pos, jint limit) {
JNIEXPORT jobject JNICALL Java_io_netty_channel_epoll_Native_recvFrom(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) { JNIEXPORT jobject JNICALL Java_io_netty_channel_epoll_Native_recvFrom(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) {
void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer); void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer);
if (buffer == NULL) { if (buffer == NULL) {
throwRuntimeException(env, "Unable to access address of buffer"); throwRuntimeException(env, "failed to get direct buffer address");
return NULL; return NULL;
} }
@ -904,7 +904,7 @@ JNIEXPORT jlong JNICALL Java_io_netty_channel_epoll_Native_writev0(JNIEnv* env,
} }
void* buffer = (*env)->GetDirectBufferAddress(env, bufObj); void* buffer = (*env)->GetDirectBufferAddress(env, bufObj);
if (buffer == NULL) { if (buffer == NULL) {
throwRuntimeException(env, "Unable to access address of buffer"); throwRuntimeException(env, "failed to get direct buffer address");
return -1; return -1;
} }
iov[iovidx].iov_base = buffer + pos; iov[iovidx].iov_base = buffer + pos;
@ -942,7 +942,7 @@ jint _read(JNIEnv* env, jclass clazz, jint fd, void* buffer, jint pos, jint limi
JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_read0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) { JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_read0(JNIEnv* env, jclass clazz, jint fd, jobject jbuffer, jint pos, jint limit) {
void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer); void* buffer = (*env)->GetDirectBufferAddress(env, jbuffer);
if (buffer == NULL) { if (buffer == NULL) {
throwRuntimeException(env, "Unable to access address of buffer"); throwRuntimeException(env, "failed to get direct buffer address");
return -1; return -1;
} }
return _read(env, clazz, fd, buffer, pos, limit); return _read(env, clazz, fd, buffer, pos, limit);
@ -1085,17 +1085,17 @@ JNIEXPORT jint JNICALL Java_io_netty_channel_epoll_Native_accept0(JNIEnv* env, j
JNIEXPORT jlong JNICALL Java_io_netty_channel_epoll_Native_sendfile0(JNIEnv* env, jclass clazz, jint fd, jobject fileRegion, jlong base_off, jlong off, jlong len) { JNIEXPORT jlong JNICALL Java_io_netty_channel_epoll_Native_sendfile0(JNIEnv* env, jclass clazz, jint fd, jobject fileRegion, jlong base_off, jlong off, jlong len) {
jobject fileChannel = (*env)->GetObjectField(env, fileRegion, fileChannelFieldId); jobject fileChannel = (*env)->GetObjectField(env, fileRegion, fileChannelFieldId);
if (fileChannel == NULL) { if (fileChannel == NULL) {
throwRuntimeException(env, "Unable to obtain FileChannel from FileRegion"); throwRuntimeException(env, "failed to get DefaultFileRegion.file");
return -1; return -1;
} }
jobject fileDescriptor = (*env)->GetObjectField(env, fileChannel, fileDescriptorFieldId); jobject fileDescriptor = (*env)->GetObjectField(env, fileChannel, fileDescriptorFieldId);
if (fileDescriptor == NULL) { if (fileDescriptor == NULL) {
throwRuntimeException(env, "Unable to obtain FileDescriptor from FileChannel"); throwRuntimeException(env, "failed to get FileChannelImpl.fd");
return -1; return -1;
} }
jint srcFd = (*env)->GetIntField(env, fileDescriptor, fdFieldId); jint srcFd = (*env)->GetIntField(env, fileDescriptor, fdFieldId);
if (srcFd == -1) { if (srcFd == -1) {
throwRuntimeException(env, "Unable to obtain the fd from the FileDescriptor"); throwRuntimeException(env, "failed to get FileDescriptor.fd");
return -1; return -1;
} }
ssize_t res; ssize_t res;
@ -1305,7 +1305,7 @@ JNIEXPORT jstring JNICALL Java_io_netty_channel_epoll_Native_kernelVersion(JNIEn
return (*env)->NewStringUTF(env, name.release); return (*env)->NewStringUTF(env, name.release);
} }
int err = errno; int err = errno;
throwRuntimeException(env, exceptionMessage("Error during uname(...): ", err)); throwRuntimeException(env, exceptionMessage("uname() failed: ", err));
return NULL; return NULL;
} }

View File

@ -169,7 +169,7 @@ final class Native {
if (res >= 0) { if (res >= 0) {
return res; return res;
} }
return ioResult("write", res, CONNECTION_RESET_EXCEPTION_WRITE); return ioResult("writeAddress", res, CONNECTION_RESET_EXCEPTION_WRITE);
} }
private static native int writeAddress0(int fd, long address, int pos, int limit); private static native int writeAddress0(int fd, long address, int pos, int limit);
@ -190,7 +190,7 @@ final class Native {
if (res >= 0) { if (res >= 0) {
return res; return res;
} }
return ioResult("writev", (int) res, CONNECTION_RESET_EXCEPTION_WRITEV); return ioResult("writevAddresses", (int) res, CONNECTION_RESET_EXCEPTION_WRITEV);
} }
private static native long writevAddresses0(int fd, long memoryAddress, int length); private static native long writevAddresses0(int fd, long memoryAddress, int length);
@ -216,7 +216,7 @@ final class Native {
if (res == 0) { if (res == 0) {
return -1; return -1;
} }
return ioResult("read", res, CONNECTION_RESET_EXCEPTION_READ); return ioResult("readAddress", res, CONNECTION_RESET_EXCEPTION_READ);
} }
private static native int readAddress0(int fd, long address, int pos, int limit); private static native int readAddress0(int fd, long address, int pos, int limit);
@ -255,7 +255,7 @@ final class Native {
if (res >= 0) { if (res >= 0) {
return res; return res;
} }
return ioResult("sendfile", res, CONNECTION_RESET_EXCEPTION_SENDTO); return ioResult("sendTo", res, CONNECTION_RESET_EXCEPTION_SENDTO);
} }
private static native int sendTo0( private static native int sendTo0(
@ -279,7 +279,7 @@ final class Native {
if (res >= 0) { if (res >= 0) {
return res; return res;
} }
return ioResult("sendto", res, CONNECTION_RESET_EXCEPTION_SENDTO); return ioResult("sendToAddress", res, CONNECTION_RESET_EXCEPTION_SENDTO);
} }
private static native int sendToAddress0( private static native int sendToAddress0(
@ -303,7 +303,7 @@ final class Native {
if (res >= 0) { if (res >= 0) {
return res; return res;
} }
return ioResult("sendmsg", res, CONNECTION_RESET_EXCEPTION_SENDMSG); return ioResult("sendToAddresses", res, CONNECTION_RESET_EXCEPTION_SENDMSG);
} }
private static native int sendToAddresses( private static native int sendToAddresses(
@ -333,7 +333,7 @@ final class Native {
public static int socketStreamFd() { public static int socketStreamFd() {
int res = socketStream(); int res = socketStream();
if (res < 0) { if (res < 0) {
throw new ChannelException(newIOException("socket", res)); throw new ChannelException(newIOException("socketStreamFd", res));
} }
return res; return res;
} }
@ -341,7 +341,7 @@ final class Native {
public static int socketDgramFd() { public static int socketDgramFd() {
int res = socketDgram(); int res = socketDgram();
if (res < 0) { if (res < 0) {
throw new ChannelException(newIOException("socket", res)); throw new ChannelException(newIOException("socketDgramFd", res));
} }
return res; return res;
} }
@ -390,7 +390,7 @@ final class Native {
// connect still in progress // connect still in progress
return false; return false;
} }
throw newIOException("getsockopt", res); throw newIOException("finishConnect", res);
} }
return true; return true;
} }