mirror of
https://github.com/hcengineering/platform.git
synced 2026-08-24 21:32:24 +02:00
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
/**
|
|
* Example: Using custom timeout for BackRPC client
|
|
*
|
|
* This example demonstrates how to create a network client with custom timeout values.
|
|
*/
|
|
|
|
import { createNetworkClient } from '@hcengineering/network-client'
|
|
|
|
// Example 1: Default behavior - uses environment-based timeout
|
|
// In development (NODE_ENV=development): 3600 seconds (1 hour)
|
|
// In production: 3 seconds
|
|
const defaultClient = createNetworkClient('localhost:3737')
|
|
|
|
// Example 2: Custom timeout - 10 minutes
|
|
const customTimeoutClient = createNetworkClient('localhost:3737', 600)
|
|
|
|
// Example 3: Short timeout for fast failure detection - 1 second
|
|
const fastFailClient = createNetworkClient('localhost:3737', 1)
|
|
|
|
// Example 4: Very long timeout for debugging - 2 hours
|
|
const debugClient = createNetworkClient('localhost:3737', 7200)
|
|
|
|
async function main() {
|
|
try {
|
|
// Wait for connection with optional timeout
|
|
await defaultClient.waitConnection(5000) // 5 second connection timeout
|
|
console.log('Connected to server')
|
|
|
|
// The client will maintain connection based on its aliveTimeout
|
|
// Server will detect client as dead only after aliveTimeout seconds of inactivity
|
|
|
|
// Your application logic here...
|
|
|
|
} catch (error) {
|
|
console.error('Connection failed:', error)
|
|
}
|
|
}
|
|
|
|
main().catch(console.error)
|