Creates a DataInputStream and a DataOutputStream from the given raw streams and
pushes these as the current streams to use for communication for a connection.
Returns the next byte in the input stream without removing it. Returns zero if no bytes are
available. This method will wait for up to maxWaitMillis milliseconds to allow pending data to
become available in the buffer.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class ConnectionMetadata (0.27.1)\n\nVersion latestkeyboard_arrow_down\n\n- [0.27.1 (latest)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.27.0](/java/docs/reference/pgadapter/0.27.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.26.0](/java/docs/reference/pgadapter/0.26.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.25.0](/java/docs/reference/pgadapter/0.25.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.24.0](/java/docs/reference/pgadapter/0.24.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.23.1](/java/docs/reference/pgadapter/0.23.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.22.1](/java/docs/reference/pgadapter/0.22.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.21.0](/java/docs/reference/pgadapter/0.21.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.20.0](/java/docs/reference/pgadapter/0.20.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.19.1](/java/docs/reference/pgadapter/0.19.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.18.4](/java/docs/reference/pgadapter/0.18.4/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.17.0](/java/docs/reference/pgadapter/0.17.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.16.0](/java/docs/reference/pgadapter/0.16.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.15.0](/java/docs/reference/pgadapter/0.15.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.14.1](/java/docs/reference/pgadapter/0.14.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.9.0](/java/docs/reference/pgadapter/0.9.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.8.0](/java/docs/reference/pgadapter/0.8.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.7.0](/java/docs/reference/pgadapter/0.7.0/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.6.1](/java/docs/reference/pgadapter/0.6.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata)\n- [0.5.1](/java/docs/reference/pgadapter/0.5.1/com.google.cloud.spanner.pgadapter.metadata.ConnectionMetadata) \n\n public class ConnectionMetadata implements AutoCloseable\n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e ConnectionMetadata \n\nImplements\n----------\n\n[AutoCloseable](https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### ConnectionMetadata(InputStream rawInputStream, OutputStream rawOutputStream)\n\n public ConnectionMetadata(InputStream rawInputStream, OutputStream rawOutputStream)\n\nCreates a [DataInputStream](https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html) and a [DataOutputStream](https://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html) from the given raw streams and\npushes these as the current streams to use for communication for a connection.\n\nMethods\n-------\n\n### close()\n\n public void close()\n\n### getInputStream()\n\n public DataInputStream getInputStream()\n\nReturns the current [DataInputStream](https://docs.oracle.com/javase/8/docs/api/java/io/DataInputStream.html) for the connection.\n\n### getOutputStream()\n\n public DataOutputStream getOutputStream()\n\nReturns the current [DataOutputStream](https://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html) for the connection.\n\n### markForRestart()\n\n public void markForRestart()\n\n### peekNextByte(long maxWaitMillis)\n\n public char peekNextByte(long maxWaitMillis)\n\nReturns the next byte in the input stream without removing it. Returns zero if no bytes are\navailable. This method will wait for up to maxWaitMillis milliseconds to allow pending data to\nbecome available in the buffer."]]