org.neo4j.kernel.ha
Class MasterClient

java.lang.Object
  extended by org.neo4j.kernel.ha.CommunicationProtocol
      extended by org.neo4j.kernel.ha.MasterClient
All Implemented Interfaces:
org.jboss.netty.channel.ChannelPipelineFactory, Master

public class MasterClient
extends CommunicationProtocol
implements Master, org.jboss.netty.channel.ChannelPipelineFactory

The Master a slave should use to communicate with its master. It serializes requests and sends them to the master, more specifically MasterServer (which delegates to MasterImpl on the master side.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.neo4j.kernel.ha.CommunicationProtocol
CommunicationProtocol.AcquireLockSerializer, CommunicationProtocol.ByteData, CommunicationProtocol.Deserializer<T>, CommunicationProtocol.MasterCaller<T>, CommunicationProtocol.ObjectSerializer<T>, CommunicationProtocol.RequestType, CommunicationProtocol.Serializer
 
Field Summary
static int MAX_NUMBER_OF_CONCURRENT_REQUESTS_PER_CLIENT
           
static int READ_RESPONSE_TIMEOUT_SECONDS
           
 
Fields inherited from class org.neo4j.kernel.ha.CommunicationProtocol
EMPTY_SERIALIZER, INTEGER_DESERIALIZER, LOCK_RESULT_DESERIALIZER, PORT, VOID_DESERIALIZER
 
Constructor Summary
MasterClient(Machine machine, String storeDir)
           
MasterClient(String hostNameOrIp, int port, String storeDir)
           
 
Method Summary
 Response<LockResult> acquireNodeReadLock(SlaveContext context, long... nodes)
           
 Response<LockResult> acquireNodeWriteLock(SlaveContext context, long... nodes)
           
 Response<LockResult> acquireRelationshipReadLock(SlaveContext context, long... relationships)
           
 Response<LockResult> acquireRelationshipWriteLock(SlaveContext context, long... relationships)
           
 IdAllocation allocateIds(IdType idType)
           
 Response<Long> commitSingleResourceTransaction(SlaveContext context, String resource, TransactionStream transactionStream)
           
 Response<Integer> createRelationshipType(SlaveContext context, String name)
           
 Response<Void> finishTransaction(SlaveContext context)
           
 int getMasterIdForCommittedTx(long txId)
           
 org.jboss.netty.channel.ChannelPipeline getPipeline()
           
 Response<Void> pullUpdates(SlaveContext context)
           
 void rollbackOngoingTransactions(SlaveContext context)
           
 void shutdown()
           
 
Methods inherited from class org.neo4j.kernel.ha.CommunicationProtocol
handleRequest, readIdAllocation, readString, readTransactionStreams, writeSlaveContext, writeString, writeTransactionStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_NUMBER_OF_CONCURRENT_REQUESTS_PER_CLIENT

public static final int MAX_NUMBER_OF_CONCURRENT_REQUESTS_PER_CLIENT
See Also:
Constant Field Values

READ_RESPONSE_TIMEOUT_SECONDS

public static final int READ_RESPONSE_TIMEOUT_SECONDS
See Also:
Constant Field Values
Constructor Detail

MasterClient

public MasterClient(String hostNameOrIp,
                    int port,
                    String storeDir)

MasterClient

public MasterClient(Machine machine,
                    String storeDir)
Method Detail

allocateIds

public IdAllocation allocateIds(IdType idType)
Specified by:
allocateIds in interface Master

createRelationshipType

public Response<Integer> createRelationshipType(SlaveContext context,
                                                String name)
Specified by:
createRelationshipType in interface Master

acquireNodeWriteLock

public Response<LockResult> acquireNodeWriteLock(SlaveContext context,
                                                 long... nodes)
Specified by:
acquireNodeWriteLock in interface Master

acquireNodeReadLock

public Response<LockResult> acquireNodeReadLock(SlaveContext context,
                                                long... nodes)
Specified by:
acquireNodeReadLock in interface Master

acquireRelationshipWriteLock

public Response<LockResult> acquireRelationshipWriteLock(SlaveContext context,
                                                         long... relationships)
Specified by:
acquireRelationshipWriteLock in interface Master

acquireRelationshipReadLock

public Response<LockResult> acquireRelationshipReadLock(SlaveContext context,
                                                        long... relationships)
Specified by:
acquireRelationshipReadLock in interface Master

commitSingleResourceTransaction

public Response<Long> commitSingleResourceTransaction(SlaveContext context,
                                                      String resource,
                                                      TransactionStream transactionStream)
Specified by:
commitSingleResourceTransaction in interface Master

finishTransaction

public Response<Void> finishTransaction(SlaveContext context)
Specified by:
finishTransaction in interface Master

rollbackOngoingTransactions

public void rollbackOngoingTransactions(SlaveContext context)

pullUpdates

public Response<Void> pullUpdates(SlaveContext context)
Specified by:
pullUpdates in interface Master

getMasterIdForCommittedTx

public int getMasterIdForCommittedTx(long txId)
Specified by:
getMasterIdForCommittedTx in interface Master

getPipeline

public org.jboss.netty.channel.ChannelPipeline getPipeline()
                                                    throws Exception
Specified by:
getPipeline in interface org.jboss.netty.channel.ChannelPipelineFactory
Throws:
Exception

shutdown

public void shutdown()


Copyright © 2010 The Neo4j Graph Database Project. All Rights Reserved.