package org.bouncycastle.crypto.tls;
import java.io.IOException;
import java.util.Hashtable;
public interface TlsClient
{
void init(TlsClientContext context);
int[] getCipherSuites();
short[] getCompressionMethods();
// Hashtable is (Integer -> byte[])
Hashtable getClientExtensions() throws IOException;
void notifySessionID(byte[] sessionID);
void notifySelectedCipherSuite(int selectedCipherSuite);
void notifySelectedCompressionMethod(short selectedCompressionMethod);
void notifySecureRenegotiation(boolean secureNegotiation) throws IOException;
// Hashtable is (Integer -> byte[])
void processServerExtensions(Hashtable serverExtensions);
TlsKeyExchange getKeyExchange() throws IOException;
TlsAuthentication getAuthentication() throws IOException;
TlsCompression getCompression() throws IOException;
TlsCipher getCipher() throws IOException;
}