Skip to content

Connectum API Reference / @connectum/interceptors / bulkhead / createBulkheadInterceptor

Function: createBulkheadInterceptor()

createBulkheadInterceptor(options?): Interceptor

Defined in: bulkhead.ts:56

Create bulkhead interceptor

Limits concurrent requests to prevent resource exhaustion. Requests beyond capacity are queued. Requests beyond queue size are rejected.

Parameters

options?

BulkheadOptions = {}

Bulkhead options

Returns

Interceptor

ConnectRPC interceptor

Examples

typescript
import { createServer } from '@connectum/core';
import { createBulkheadInterceptor } from '@connectum/interceptors';
import { myRoutes } from './routes.js';

const server = createServer({
  services: [myRoutes],
  interceptors: [
    createBulkheadInterceptor({
      capacity: 10,       // Max 10 concurrent requests
      queueSize: 10,      // Queue up to 10 pending requests
      skipStreaming: true,
    }),
  ],
});

await server.start();
typescript
import { createConnectTransport } from '@connectrpc/connect-node';
import { createBulkheadInterceptor } from '@connectum/interceptors';

const transport = createConnectTransport({
  baseUrl: 'http://localhost:5000',
  interceptors: [
    createBulkheadInterceptor({ capacity: 5, queueSize: 5 }),
  ],
});