Package org.h2.value
Class Transfer
- java.lang.Object
-
- org.h2.value.Transfer
-
public final class Transfer extends java.lang.ObjectThe transfer class is used to send and receive Value objects. It is used on both the client side, and on the server side.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the transfer object and the socket.voidflush()Write pending changes.java.net.SocketgetSocket()Get the socket.intgetVersion()voidinit()Initialize the transfer object.booleanisClosed()TransferopenNewConnection()Open a new connection to the same address and port as this one.booleanreadBoolean()Read a boolean.bytereadByte()Read a byte.byte[]readBytes()Read a byte array.voidreadBytes(byte[] buff, int off, int len)Read a number of bytes.intreadInt()Read an int.longreadLong()Read a long.longreadRowCount()Read a row count.java.lang.StringreadString()Read a string.TypeInforeadTypeInfo()Read a type information.ValuereadValue(TypeInfo columnType)Read a value.voidsetSession(Session session)Set the session.voidsetSSL(boolean ssl)Enable or disable SSL.voidsetVersion(int version)voidverifyLobMac(byte[] hmac, long lobId)Verify the HMAC.TransferwriteBoolean(boolean x)Write a boolean.TransferwriteByte(byte x)Write a byte.TransferwriteBytes(byte[] data)Write a byte array.TransferwriteBytes(byte[] buff, int off, int len)Write a number of bytes.TransferwriteInt(int x)Write an int.TransferwriteLong(long x)Write a long.TransferwriteRowCount(long rowCount)Write a row count.TransferwriteString(java.lang.String s)Write a string.TransferwriteTypeInfo(TypeInfo type)Write value type, precision, and scale.voidwriteValue(Value v)Write a value.
-
-
-
Constructor Detail
-
Transfer
public Transfer(Session session, java.net.Socket s)
Create a new transfer object for the specified session.- Parameters:
session- the sessions- the socket
-
-
Method Detail
-
init
public void init() throws java.io.IOExceptionInitialize the transfer object. This method will try to open an input and output stream.- Throws:
java.io.IOException- on failure
-
flush
public void flush() throws java.io.IOExceptionWrite pending changes.- Throws:
java.io.IOException- on failure
-
writeBoolean
public Transfer writeBoolean(boolean x) throws java.io.IOException
Write a boolean.- Parameters:
x- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readBoolean
public boolean readBoolean() throws java.io.IOExceptionRead a boolean.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
writeByte
public Transfer writeByte(byte x) throws java.io.IOException
Write a byte.- Parameters:
x- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readByte
public byte readByte() throws java.io.IOExceptionRead a byte.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
writeInt
public Transfer writeInt(int x) throws java.io.IOException
Write an int.- Parameters:
x- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readInt
public int readInt() throws java.io.IOExceptionRead an int.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
writeLong
public Transfer writeLong(long x) throws java.io.IOException
Write a long.- Parameters:
x- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readLong
public long readLong() throws java.io.IOExceptionRead a long.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
writeString
public Transfer writeString(java.lang.String s) throws java.io.IOException
Write a string. The maximum string length is Integer.MAX_VALUE.- Parameters:
s- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readString
public java.lang.String readString() throws java.io.IOExceptionRead a string.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
writeBytes
public Transfer writeBytes(byte[] data) throws java.io.IOException
Write a byte array.- Parameters:
data- the value- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
writeBytes
public Transfer writeBytes(byte[] buff, int off, int len) throws java.io.IOException
Write a number of bytes.- Parameters:
buff- the valueoff- the offsetlen- the length- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readBytes
public byte[] readBytes() throws java.io.IOExceptionRead a byte array.- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
readBytes
public void readBytes(byte[] buff, int off, int len) throws java.io.IOExceptionRead a number of bytes.- Parameters:
buff- the target bufferoff- the offsetlen- the number of bytes to read- Throws:
java.io.IOException- on failure
-
close
public void close()
Close the transfer object and the socket.
-
writeTypeInfo
public Transfer writeTypeInfo(TypeInfo type) throws java.io.IOException
Write value type, precision, and scale.- Parameters:
type- data type information- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
readTypeInfo
public TypeInfo readTypeInfo() throws java.io.IOException
Read a type information.- Returns:
- the type information
- Throws:
java.io.IOException- on failure
-
writeValue
public void writeValue(Value v) throws java.io.IOException
Write a value.- Parameters:
v- the value- Throws:
java.io.IOException- on failure
-
readValue
public Value readValue(TypeInfo columnType) throws java.io.IOException
Read a value.- Parameters:
columnType- the data type of value, ornull- Returns:
- the value
- Throws:
java.io.IOException- on failure
-
readRowCount
public long readRowCount() throws java.io.IOExceptionRead a row count.- Returns:
- the row count
- Throws:
java.io.IOException- on failure
-
writeRowCount
public Transfer writeRowCount(long rowCount) throws java.io.IOException
Write a row count.- Parameters:
rowCount- the row count- Returns:
- itself
- Throws:
java.io.IOException- on failure
-
getSocket
public java.net.Socket getSocket()
Get the socket.- Returns:
- the socket
-
setSession
public void setSession(Session session)
Set the session.- Parameters:
session- the session
-
setSSL
public void setSSL(boolean ssl)
Enable or disable SSL.- Parameters:
ssl- the new value
-
openNewConnection
public Transfer openNewConnection() throws java.io.IOException
Open a new connection to the same address and port as this one.- Returns:
- the new transfer object
- Throws:
java.io.IOException- on failure
-
setVersion
public void setVersion(int version)
-
getVersion
public int getVersion()
-
isClosed
public boolean isClosed()
-
verifyLobMac
public void verifyLobMac(byte[] hmac, long lobId)Verify the HMAC.- Parameters:
hmac- the message authentication codelobId- the lobId- Throws:
DbException- if the HMAC does not match
-
-