Part of Anders Bengtsson's patch to clean up Connection.java

This commit is contained in:
Dave Cramer 2002-03-21 02:40:03 +00:00
parent d96c29ab30
commit 00923229c2

View File

@ -0,0 +1,43 @@
package org.postgresql.core;
import org.postgresql.PG_Stream;
import java.io.IOException;
/**
* Sent to the backend to initialize a newly created connection.
*
* $Id: StartupPacket.java,v 1.1 2002/03/21 02:40:03 davec Exp $
*/
public class StartupPacket
{
private static final int SM_DATABASE = 64;
private static final int SM_USER = 32;
private static final int SM_OPTIONS = 64;
private static final int SM_UNUSED = 64;
private static final int SM_TTY = 64;
private int protocolMajor;
private int protocolMinor;
private String user;
private String database;
public StartupPacket(int protocolMajor, int protocolMinor, String user, String database) {
this.protocolMajor = protocolMajor;
this.protocolMinor = protocolMinor;
this.user = user;
this.database = database;
}
public void writeTo(PG_Stream stream) throws IOException
{
stream.SendInteger(4 + 4 + SM_DATABASE + SM_USER + SM_OPTIONS + SM_UNUSED + SM_TTY, 4);
stream.SendInteger(protocolMajor, 2);
stream.SendInteger(protocolMinor, 2);
stream.Send(database.getBytes(), SM_DATABASE);
// This last send includes the unused fields
stream.Send(user.getBytes(), SM_USER + SM_OPTIONS + SM_UNUSED + SM_TTY);
}
}