Search in sources :

Example 1 with ReadyState

use of org.neo4j.bolt.v3.runtime.ReadyState in project neo4j by neo4j.

the class ConnectedState method process.

@Override
public BoltStateMachineState process(RequestMessage message, StateMachineContext context) throws BoltConnectionFatality {
    assertInitialized();
    if (message instanceof HelloMessage) {
        HelloMessage helloMessage = (HelloMessage) message;
        String userAgent = helloMessage.userAgent();
        Map<String, Object> authToken = helloMessage.authToken();
        if (processAuthentication(userAgent, authToken, context, new RoutingContext(false, Collections.emptyMap()))) {
            context.resolveDefaultDatabase();
            context.connectionState().onMetadata(CONNECTION_ID_KEY, Values.utf8Value(context.connectionId()));
            context.connectionState().onMetadata("hints", connectionHints);
            return readyState;
        } else {
            return null;
        }
    }
    return null;
}
Also used : RoutingContext(org.neo4j.bolt.v41.messaging.RoutingContext) HelloMessage(org.neo4j.bolt.v3.messaging.request.HelloMessage)

Example 2 with ReadyState

use of org.neo4j.bolt.v3.runtime.ReadyState in project neo4j by neo4j.

the class BoltStateMachineV3 method buildStates.

@Override
protected States buildStates(MapValue connectionHints, MemoryTracker memoryTracker) {
    memoryTracker.allocateHeap(ConnectedState.SHALLOW_SIZE + ReadyState.SHALLOW_SIZE + StreamingState.SHALLOW_SIZE + TransactionReadyState.SHALLOW_SIZE + TransactionStreamingState.SHALLOW_SIZE + FailedState.SHALLOW_SIZE + InterruptedState.SHALLOW_SIZE);
    ConnectedState connected = new ConnectedState(connectionHints);
    ReadyState ready = new ReadyState();
    StreamingState streaming = new StreamingState();
    TransactionReadyState txReady = new TransactionReadyState();
    TransactionStreamingState txStreaming = new TransactionStreamingState();
    FailedState failed = new FailedState();
    InterruptedState interrupted = new InterruptedState();
    connected.setReadyState(ready);
    ready.setTransactionReadyState(txReady);
    ready.setStreamingState(streaming);
    ready.setFailedState(failed);
    ready.setInterruptedState(interrupted);
    streaming.setReadyState(ready);
    streaming.setFailedState(failed);
    streaming.setInterruptedState(interrupted);
    txReady.setReadyState(ready);
    txReady.setTransactionStreamingState(txStreaming);
    txReady.setFailedState(failed);
    txReady.setInterruptedState(interrupted);
    txStreaming.setReadyState(txReady);
    txStreaming.setFailedState(failed);
    txStreaming.setInterruptedState(interrupted);
    failed.setInterruptedState(interrupted);
    interrupted.setReadyState(ready);
    return new States(connected, failed);
}
Also used : InterruptedState(org.neo4j.bolt.v3.runtime.InterruptedState) TransactionStreamingState(org.neo4j.bolt.v3.runtime.TransactionStreamingState) TransactionReadyState(org.neo4j.bolt.v3.runtime.TransactionReadyState) ReadyState(org.neo4j.bolt.v3.runtime.ReadyState) TransactionStreamingState(org.neo4j.bolt.v3.runtime.TransactionStreamingState) StreamingState(org.neo4j.bolt.v3.runtime.StreamingState) ConnectedState(org.neo4j.bolt.v3.runtime.ConnectedState) FailedState(org.neo4j.bolt.v3.runtime.FailedState) TransactionReadyState(org.neo4j.bolt.v3.runtime.TransactionReadyState)

Example 3 with ReadyState

use of org.neo4j.bolt.v3.runtime.ReadyState in project neo4j by neo4j.

the class BoltStateMachineV4 method buildStates.

@Override
protected States buildStates(MapValue connectionHints, MemoryTracker memoryTracker) {
    memoryTracker.allocateHeap(ConnectedState.SHALLOW_SIZE + ReadyState.SHALLOW_SIZE + AutoCommitState.SHALLOW_SIZE + InTransactionState.SHALLOW_SIZE + FailedState.SHALLOW_SIZE + InterruptedState.SHALLOW_SIZE);
    ConnectedState connected = new ConnectedState(connectionHints);
    // v4
    ReadyState ready = new ReadyState();
    // v4
    AutoCommitState autoCommitState = new AutoCommitState();
    // v4
    InTransactionState inTransaction = new InTransactionState();
    // v4
    FailedState failed = new FailedState();
    InterruptedState interrupted = new InterruptedState();
    connected.setReadyState(ready);
    ready.setTransactionReadyState(inTransaction);
    ready.setStreamingState(autoCommitState);
    ready.setFailedState(failed);
    ready.setInterruptedState(interrupted);
    autoCommitState.setReadyState(ready);
    autoCommitState.setFailedState(failed);
    autoCommitState.setInterruptedState(interrupted);
    inTransaction.setReadyState(ready);
    inTransaction.setFailedState(failed);
    inTransaction.setInterruptedState(interrupted);
    failed.setInterruptedState(interrupted);
    interrupted.setReadyState(ready);
    return new States(connected, failed);
}
Also used : InterruptedState(org.neo4j.bolt.v3.runtime.InterruptedState) InTransactionState(org.neo4j.bolt.v4.runtime.InTransactionState) ReadyState(org.neo4j.bolt.v4.runtime.ReadyState) ConnectedState(org.neo4j.bolt.v3.runtime.ConnectedState) FailedState(org.neo4j.bolt.v4.runtime.FailedState) AutoCommitState(org.neo4j.bolt.v4.runtime.AutoCommitState)

Example 4 with ReadyState

use of org.neo4j.bolt.v3.runtime.ReadyState in project neo4j by neo4j.

the class BoltStateMachineV43 method buildStates.

@Override
protected States buildStates(MapValue connectionHints, MemoryTracker memoryTracker) {
    memoryTracker.allocateHeap(ConnectedState.SHALLOW_SIZE + RouteMessageHandleStateDecorator.SHALLOW_SIZE + ReadyState.SHALLOW_SIZE + AutoCommitState.SHALLOW_SIZE + InTransactionState.SHALLOW_SIZE + FailedState.SHALLOW_SIZE + InterruptedState.SHALLOW_SIZE);
    // v4.1
    var connected = new ConnectedState(connectionHints);
    // v4
    var autoCommitState = new AutoCommitState();
    // v4
    var inTransaction = new InTransactionState();
    // v4
    var failed = new FailedState();
    // v4
    var ready = RouteMessageHandleStateDecorator.decorate(new ReadyState(), failed);
    // v3
    var interrupted = new InterruptedState();
    connected.setReadyState(ready);
    ready.apply(it -> {
        it.setTransactionReadyState(inTransaction);
        it.setStreamingState(autoCommitState);
        it.setFailedState(failed);
        it.setInterruptedState(interrupted);
    });
    autoCommitState.setReadyState(ready);
    autoCommitState.setFailedState(failed);
    autoCommitState.setInterruptedState(interrupted);
    inTransaction.setReadyState(ready);
    inTransaction.setFailedState(failed);
    inTransaction.setInterruptedState(interrupted);
    failed.setInterruptedState(interrupted);
    interrupted.setReadyState(ready);
    return new States(connected, failed);
}
Also used : InterruptedState(org.neo4j.bolt.v3.runtime.InterruptedState) InTransactionState(org.neo4j.bolt.v4.runtime.InTransactionState) ReadyState(org.neo4j.bolt.v4.runtime.ReadyState) ConnectedState(org.neo4j.bolt.v41.runtime.ConnectedState) FailedState(org.neo4j.bolt.v4.runtime.FailedState) AutoCommitState(org.neo4j.bolt.v4.runtime.AutoCommitState)

Example 5 with ReadyState

use of org.neo4j.bolt.v3.runtime.ReadyState in project neo4j by neo4j.

the class BoltStateMachineV41 method buildStates.

@Override
protected States buildStates(MapValue connectionHints, MemoryTracker memoryTracker) {
    memoryTracker.allocateHeap(ConnectedState.SHALLOW_SIZE + ReadyState.SHALLOW_SIZE + AutoCommitState.SHALLOW_SIZE + InTransactionState.SHALLOW_SIZE + FailedState.SHALLOW_SIZE + InterruptedState.SHALLOW_SIZE);
    // v4.1
    ConnectedState connected = new ConnectedState(connectionHints);
    // v4
    ReadyState ready = new ReadyState();
    // v4
    AutoCommitState autoCommitState = new AutoCommitState();
    // v4
    InTransactionState inTransaction = new InTransactionState();
    // v4
    FailedState failed = new FailedState();
    InterruptedState interrupted = new InterruptedState();
    connected.setReadyState(ready);
    ready.setTransactionReadyState(inTransaction);
    ready.setStreamingState(autoCommitState);
    ready.setFailedState(failed);
    ready.setInterruptedState(interrupted);
    autoCommitState.setReadyState(ready);
    autoCommitState.setFailedState(failed);
    autoCommitState.setInterruptedState(interrupted);
    inTransaction.setReadyState(ready);
    inTransaction.setFailedState(failed);
    inTransaction.setInterruptedState(interrupted);
    failed.setInterruptedState(interrupted);
    interrupted.setReadyState(ready);
    return new States(connected, failed);
}
Also used : InterruptedState(org.neo4j.bolt.v3.runtime.InterruptedState) InTransactionState(org.neo4j.bolt.v4.runtime.InTransactionState) ReadyState(org.neo4j.bolt.v4.runtime.ReadyState) ConnectedState(org.neo4j.bolt.v41.runtime.ConnectedState) FailedState(org.neo4j.bolt.v4.runtime.FailedState) AutoCommitState(org.neo4j.bolt.v4.runtime.AutoCommitState)

Aggregations

InterruptedState (org.neo4j.bolt.v3.runtime.InterruptedState)5 AutoCommitState (org.neo4j.bolt.v4.runtime.AutoCommitState)4 FailedState (org.neo4j.bolt.v4.runtime.FailedState)4 InTransactionState (org.neo4j.bolt.v4.runtime.InTransactionState)4 ReadyState (org.neo4j.bolt.v4.runtime.ReadyState)4 ConnectedState (org.neo4j.bolt.v41.runtime.ConnectedState)3 ConnectedState (org.neo4j.bolt.v3.runtime.ConnectedState)2 HelloMessage (org.neo4j.bolt.v3.messaging.request.HelloMessage)1 FailedState (org.neo4j.bolt.v3.runtime.FailedState)1 ReadyState (org.neo4j.bolt.v3.runtime.ReadyState)1 StreamingState (org.neo4j.bolt.v3.runtime.StreamingState)1 TransactionReadyState (org.neo4j.bolt.v3.runtime.TransactionReadyState)1 TransactionStreamingState (org.neo4j.bolt.v3.runtime.TransactionStreamingState)1 RoutingContext (org.neo4j.bolt.v41.messaging.RoutingContext)1