/** * Binds a new lister to the operation context so the WASB file system can * appropriately intercept sends and allow concurrent OOB I/Os. This * by-passes the blob immutability check when reading streams. * * @param opContext the operation context assocated with this request. */ public static void bind(OperationContext opContext) { opContext.getSendingRequestEventHandler().addListener(new SendRequestIntercept()); }
/** * Fires events representing that a response has been received. */ private static void fireResponseReceivedEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getResponseReceivedEventHandler().hasListeners() || OperationContext.getGlobalResponseReceivedEventHandler().hasListeners()) { ResponseReceivedEvent event = new ResponseReceivedEvent(opContext, request, result); opContext.getResponseReceivedEventHandler().fireEvent(event); OperationContext.getGlobalResponseReceivedEventHandler().fireEvent(event); } }
@Override protected void logout() { context.getSendingRequestEventHandler().removeListener(listener); }
eventContext.getSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() { OperationContext.getGlobalSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() { .setGlobalSendingRequestEventHandler(new StorageEventMultiCaster<SendingRequestEvent, StorageEvent<SendingRequestEvent>>()); eventContext .setSendingRequestEventHandler(new StorageEventMultiCaster<SendingRequestEvent, StorageEvent<SendingRequestEvent>>());
context.getSendingRequestEventHandler().addListener(event); container.exists(null, null, context); context.getSendingRequestEventHandler().removeListener(event); context.setUserHeaders(userHeaders); context.getSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() {
eventContext.getResponseReceivedEventHandler().addListener(new StorageEvent<ResponseReceivedEvent>() { OperationContext.getGlobalResponseReceivedEventHandler().addListener(new StorageEvent<ResponseReceivedEvent>() { eventContext.getErrorReceivingResponseEventHandler().addListener(new StorageEvent<ErrorReceivingResponseEvent>() { OperationContext.getGlobalErrorReceivingResponseEventHandler().addListener(globalResponseReceivedListener); .setGlobalResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>()); eventContext .setResponseReceivedEventHandler(new StorageEventMultiCaster<ResponseReceivedEvent, StorageEvent<ResponseReceivedEvent>>()); OperationContext.getGlobalErrorReceivingResponseEventHandler().removeListener(globalResponseReceivedListener);
eventContext.getRequestCompletedEventHandler().addListener(new StorageEvent<RequestCompletedEvent>() { OperationContext.getGlobalRequestCompletedEventHandler().addListener(new StorageEvent<RequestCompletedEvent>() { .setGlobalRequestCompletedEventHandler(new StorageEventMultiCaster<RequestCompletedEvent, StorageEvent<RequestCompletedEvent>>()); eventContext .setRequestCompletedEventHandler(new StorageEventMultiCaster<RequestCompletedEvent, StorageEvent<RequestCompletedEvent>>());
sendingRequestEventContext.getSendingRequestEventHandler().addListener(event); assertEquals(0, callList.size()); assertEquals(1, callList.size()); sendingRequestEventContext.getSendingRequestEventHandler().removeListener(event); callList.clear(); srcStream = BlobTestHelper.getRandomDataStream(length); sendingRequestEventContext.getSendingRequestEventHandler().addListener(event); assertEquals(0, callList.size());
static void hook(OperationContext context) { context.getErrorReceivingResponseEventHandler().addListener( new ErrorReceivingResponseEventHandler()); context.getSendingRequestEventHandler().addListener( new SendingRequestEventHandler()); context.getResponseReceivedEventHandler().addListener( new ResponseReceivedEventHandler()); }
/** * Fires events representing that an error occurred when receiving the response. */ private static void fireErrorReceivingResponseEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getErrorReceivingResponseEventHandler().hasListeners() || OperationContext.getGlobalErrorReceivingResponseEventHandler().hasListeners()) { ErrorReceivingResponseEvent event = new ErrorReceivingResponseEvent(opContext, request, result); opContext.getErrorReceivingResponseEventHandler().fireEvent(event); OperationContext.getGlobalErrorReceivingResponseEventHandler().fireEvent(event); } }
eventContext.getSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() { @Override public void eventOccurred(SendingRequestEvent eventArg) { eventContext.getErrorReceivingResponseEventHandler().addListener(new StorageEvent<ErrorReceivingResponseEvent>() { @Override public void eventOccurred(ErrorReceivingResponseEvent eventArg) { OperationContext.getGlobalErrorReceivingResponseEventHandler().addListener(new StorageEvent<ErrorReceivingResponseEvent>() { @Override public void eventOccurred(ErrorReceivingResponseEvent eventArg) { .setErrorReceivingResponseEventHandler(new StorageEventMultiCaster<ErrorReceivingResponseEvent, StorageEvent<ErrorReceivingResponseEvent>>()); try { String blockID2 = String.format("%08d", 2); .setGlobalErrorReceivingResponseEventHandler(new StorageEventMultiCaster<ErrorReceivingResponseEvent, StorageEvent<ErrorReceivingResponseEvent>>());
/** * Hooks a new listener to the given operationContext that will update the * error metrics for the WASB file system appropriately in response to * ResponseReceived events. * * @param operationContext The operationContext to hook. * @param instrumentation The metrics source to update. */ public static void hook( OperationContext operationContext, AzureFileSystemInstrumentation instrumentation) { ErrorMetricUpdater listener = new ErrorMetricUpdater(operationContext, instrumentation); operationContext.getResponseReceivedEventHandler().addListener(listener); }
/** * Fires events representing that a response received from the service is fully processed. */ private static void fireRequestCompletedEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getRequestCompletedEventHandler().hasListeners() || OperationContext.getGlobalRequestCompletedEventHandler().hasListeners()) { RequestCompletedEvent event = new RequestCompletedEvent(opContext, request, result); opContext.getRequestCompletedEventHandler().fireEvent(event); OperationContext.getGlobalRequestCompletedEventHandler().fireEvent(event); } }
eventContext.getRetryingEventHandler().addListener(new StorageEvent<RetryingEvent>() { OperationContext.getGlobalRetryingEventHandler().addListener(new StorageEvent<RetryingEvent>() { .setGlobalRetryingEventHandler(new StorageEventMultiCaster<RetryingEvent, StorageEvent<RetryingEvent>>()); eventContext.setRetryingEventHandler(new StorageEventMultiCaster<RetryingEvent, StorageEvent<RetryingEvent>>());
/** * Hooks a new listener to the given operationContext that will update the * metrics for the WASB file system appropriately in response to * ResponseReceived events. * * @param operationContext The operationContext to hook. * @param instrumentation The metrics source to update. * @param blockUploadGaugeUpdater The blockUploadGaugeUpdater to use. */ public static void hook( OperationContext operationContext, AzureFileSystemInstrumentation instrumentation, BandwidthGaugeUpdater blockUploadGaugeUpdater) { ResponseReceivedMetricUpdater listener = new ResponseReceivedMetricUpdater(operationContext, instrumentation, blockUploadGaugeUpdater); operationContext.getResponseReceivedEventHandler().addListener(listener); }
/** * Fires events representing that a response received from the service is fully processed. */ private static void fireRequestCompletedEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getRequestCompletedEventHandler().hasListeners() || OperationContext.getGlobalRequestCompletedEventHandler().hasListeners()) { RequestCompletedEvent event = new RequestCompletedEvent(opContext, request, result); opContext.getRequestCompletedEventHandler().fireEvent(event); OperationContext.getGlobalRequestCompletedEventHandler().fireEvent(event); } }
public static void hook(OperationContext operationContext, float readFactor, float writeFactor) { SelfThrottlingIntercept throttler = new SelfThrottlingIntercept( operationContext, readFactor, writeFactor); ResponseReceivedListener responseListener = throttler.new ResponseReceivedListener(); SendingRequestListener sendingListener = throttler.new SendingRequestListener(); operationContext.getResponseReceivedEventHandler().addListener( responseListener); operationContext.getSendingRequestEventHandler().addListener( sendingListener); }
/** * Fires events representing that a request will be sent. */ private static void fireSendingRequestEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getSendingRequestEventHandler().hasListeners() || OperationContext.getGlobalSendingRequestEventHandler().hasListeners()) { SendingRequestEvent event = new SendingRequestEvent(opContext, request, result); opContext.getSendingRequestEventHandler().fireEvent(event); OperationContext.getGlobalSendingRequestEventHandler().fireEvent(event); } }
private void setDelay(final OperationContext ctx, final int timeInMs) { ctx.getSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() { @Override public void eventOccurred(SendingRequestEvent eventArg) { try { Thread.sleep(timeInMs); } catch (InterruptedException e) { // do nothing } } }); } }
/** * Fires events representing that an error occurred when receiving the response. */ private static void fireErrorReceivingResponseEvent(OperationContext opContext, HttpURLConnection request, RequestResult result) { if (opContext.getErrorReceivingResponseEventHandler().hasListeners() || OperationContext.getGlobalErrorReceivingResponseEventHandler().hasListeners()) { ErrorReceivingResponseEvent event = new ErrorReceivingResponseEvent(opContext, request, result); opContext.getErrorReceivingResponseEventHandler().fireEvent(event); OperationContext.getGlobalErrorReceivingResponseEventHandler().fireEvent(event); } }