public void runPersistentConnectionThread(){
		int counter =0;
		//String persistent_header="HTTP/1.1: 200 OK\r\n"+"Content-Type: text/html\r\n" + "Connection:Keep-Alive\r\n" + "\r\n";
		String persistent_header="<script>ThreadId-"+ Integer.toString(current_client_number) +"-</script>";

 		outputChannel.println( persistent_header);

		try{
			output_stream.flush();
		}catch(IOException e){
		}
		
		String threadName[] = Thread.currentThread().getName().split("-");
		int threadId = 0;
		if(threadName[1].length()>0) 
			threadId=Integer.parseInt( threadName[1] );

		while(true){
			try{
				Thread.currentThread().sleep(20);
			}catch(Exception e){

			}

			//int threadId = Integer.parseInt( Thread.currentThread().getName()) ;
			if(getPersistentThreadStatus(threadId)){
				
				
				AckBroadcast processed_message = getProcessedMessage();
				
				//the below code is to ensure that the same thread does not pop same message from abstract queue	 
				resetPersistentThreadStatus(threadId);
				persistent_thread_count--;
				
				if(persistent_thread_count==0){
					persistent_thread_count=num_of_clients;
					setPersistentThreadStatusAllThreads();
				}
				
				
				int clientId = processed_message.getThread_id();
				char typed_char = processed_message.getCharacter_pressed();
				if(clientId != threadId + 1) {
					//Send as broadcast else skip below step
					//processed_message.setOriginal_client_version_number(0);										
				}
				
				//System.out.println("Thread details : " + Thread.currentThread() + " Thread name ; " + Thread.currentThread().getName() );
				System.out.println("CHAR SENT : " + typed_char + " , To client : " + Thread.currentThread().getName() );

				//Output message format - |Char,position,clientId,RevisionNum|
				int position = processed_message.getPosition();
				int server_revision_number = processed_message.getServer_version_number();
				int original_client_version_number = processed_message.getOriginal_client_version_number();
				String output_message="|"+typed_char+","+position + ","+clientId+","+ server_revision_number +","+ original_client_version_number+"|";
				System.out.println("Message sent : " + output_message );
 				outputChannel.println(output_message);
				try{
					output_stream.flush();
				}catch(IOException e){
				}
			}
		}

	}